(VS2019)Visual Studio 2019 + OpenCV 4.1.1 + opencv_contrib + CUDA 10.1 + Intel tbb2019_20190605oss + OpenCVSharp4-20190908 をビルドしてみた

結局やるんかい(爆笑) CUDAさんにも働いてもらおう’`,、’`,、(ノ∀`)’`,、’`,、
まぁ、試しににビルドしてみたら通ったのでヘ(゚∀゚ヘ)アヒャ

CUDAの話になると、GPLライセンスばかりで…ソース出すなら3倍時間かかってしまうので…
LGPLかBSD-3くらいのぬるい世界でぐでたま温泉気分に浸りましょ

まぁ自己責任で!(笑)
自分でこけるのは特に気にならない年にはなったが、お子様にミスリードさせてしまったら申し訳ないともう昨今です。
大人なら、「ググレカス」っていう2ch世代がここにw

※そのままビルドするとスタティックリンクにならないので環境依存になります。

■ 環境
・Windows10 Professional 64bit
・Intel Corei7-6700
・16GB RAM
・Geforce RTX 2060
・Visual Studio 2019 Version 16.2.5
・CMake 3.15.3

■ ダウンロード
CMake Latest – Release (3.15.3) – cmake-3.15.3-win64-x64.msi
※古いバージョンはアンイストール

Download CMake
You can either download binaries or source code archives for the latest stable or previous release or access the current...

OpenCV – 4.1.1

Just a moment...

opencv/opencv_contrib – 2019.09.20(r3263)

GitHub - opencv/opencv_contrib: Repository for OpenCV's extra modules
Repository for OpenCV's extra modules. Contribute to opencv/opencv_contrib development by creating an account on GitHub.

intel/tbb – Threading Building Blocks 2019 Update 8(tbb2019_20190605oss_win.zip)

Releases · oneapi-src/oneTBB
oneAPI Threading Building Blocks (oneTBB). Contribute to oneapi-src/oneTBB development by creating an account on GitHub.

CUDA Toolkit 10.1 Update 2 Download

CUDA Toolkit 12.1 Downloads
Get the latest feature updates to NVIDIA's proprietary compute stack.

■ とりあえず、OpenCVが動かないと話にならないので、ここまでをビルドする。

・Windows10の環境設定でPATHに2行追加
D:\tbb2019_20190605oss_win\tbb2019_20190605oss\lib
D:\tbb2019_20190605oss_win\tbb2019_20190605oss\bin\intel64\vc14

・CMakeを起動する。ソース(指定)とバイナリ(作成)のパスを設定する
ソースコード: D:\opencv\sources
ビルドバイナリ: D:\opencv\release

・「Configure」ボタンを押します。

・リストが出てくるので、「WITH_CUDA」、「WITH_OPENGL」、「WITH_TBB」にチェックを入れ、「Configure」を押します。

・エラーが出ると思うので、エラーに対応するバスを通してあげるのです。
D:\opencv\sources\modules\core\CMakeLists.txt の 40行目を見てねって言われる。
40: message(FATAL_ERROR “CUDA: OpenCV requires enabled ‘cudev’ module from ‘opencv_contrib’ repository: https://github.com/opencv/opencv_contrib”)

・パスを通してあげる
※インストールの仕方を読む。
https://github.com/opencv/opencv_contrib

OPENCV_EXTRA_MODULES_PATHの右の空白をクリックしてパスを入れる
OPENCV_EXTRA_MODULES_PATH:D:\opencv_contrib-master\modules

・ログから赤いエラーメッセージが消える。(おま環

・「Generate」ボタンを押してVS2019用のソリューションファイルができる

D:\opencv\release\OpenCV.sln

※あとはビルドしてじっと待つ。CUDAのビルドもあるんで数時間かかりますヘ(゚∀゚ヘ)アヒャ


■ OpenCVのビルドが完了したら動くことが前提で、OpenCVSharpをビルドする。

shimat/opencvsharp 2019.09.08(r1700)

GitHub - shimat/opencvsharp: OpenCV wrapper for .NET
OpenCV wrapper for .NET. Contribute to shimat/opencvsharp development by creating an account on GitHub.

後は繰り返しですね。
・zipを展開してCMakeのパスを設定する。
ソース:D:\opencvsharp-master-r1700-20190908\src
ビルド:D:\opencvsharp-master-r1700-20190908\release

・「Configure」ボタンを押します。
※Debug:Releaseを作るべ
※OpenCvSharpExternが見つからねー
※OpenCVのパスが見つからねー
CMAKE_INSTALLPREFIX :D:/opencvsharp-master-r1700-20190908/src/OpenCvSharpExtern
OpenCV_DIR:D:/opencv/release

・「Configure」ボタンを押します。エラーが消える。
・「Generate」ボタンを押します。

大体こんな流れです。途中の試行錯誤を忘れている気がするけれど。
ビルド用のPCなんでいろいろ入っている環境なので、もっと要求されるかもしれないです。
幸せになれた!ヽ(*^。^*)ノ

・・・その後。別のPCに持っていったら見事に動かなかったので、スタティックリンクでビルドしなおし。
2時間半。映画一本見れますね!

OpenCVSharpのDLLサイズがやたら小さかったのでそんな気もしてました(笑)

参考サイト:
Visual Studio 2017 + OpenCV 3.4.1 + CUDA 10.0 + Intel TBB 2018U5 ビルド手順

Visual Studio 2017 + OpenCV 3.4.1 + CUDA 10.0 + Intel TBB 2018U5 ビルド手順 - Qiita
環境・Windows 7 Professional 64bit・Intel Corei7-3770K・16GB RAM・Geforce GTX 780・Visual Studio 2017…