Cakeを有効にするためにCMake(guiバージョン)を使ってOpenCV 3.1をビルドしようとしました。私はCudaバージョン7.5の64ビットをインストールしました.CMakeは自動的にCudaツールキットへの正しいパスを見つけました。私はWITH_CUDA値がONに設定されていることを確認し、設定を押しました。これは私がCudaに関して得たものです:CMakeのWITH_CUDA = ONでもOpenCVがビルドされない
CUDA detected: 7.5
CUDA NVCC target flags: -gencode;arch=compute_20,code=sm_20;-gencode;arch=compute_20,code=sm_21;-gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_30,code=compute_30
...
Extra dependencies: comctl32 gdi32 ole32 setupapi ws2_32 vfw32 cudart nppc nppi npps cufft -LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64
...
Other third-party libraries:
Use IPP: 9.0.1 [9.0.1]
at: C:/OpenCV-3.1.0/opencv/sources/3rdparty/ippicv/unpack/ippicv_win
Use IPP Async: NO
Use Eigen: NO
Use Cuda: YES (ver 7.5)
Use OpenCL: YES
Use custom HAL: NO
NVIDIA CUDA
Use CUFFT: YES
Use CUBLAS: NO
USE NVCUVID: NO
NVIDIA GPU arch: 20 21 30 35
NVIDIA PTX archs: 30
Use fast math: YES
次に、Visual Studio 12 2013 Win64を使って生成します。
次は、新しく生成されたOpenCV.slnプロジェクトをVisual Studio 2013で開き、プロジェクトをビルドします。これは、エラーなしで完了しますが、このような103警告:
LINK : warning LNK4044: unrecognized option '/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64'; ignored
OpenCVのがうまく構築し、私はそれを使ってプログラムを構築することができます。私は "opencv2/core/cuda.hpp"も問題なく含めることができます。しかし、ときに私はCUDAを使用しよう:: getDevice()私はこのエラーを取得:私が得る
OpenCV Error: No CUDA support (The library is compiled without CUDA support) in throw_no_cuda, file C:\builds\master_PackSlave-win64-vc12-shared\opencv\modules\core\include\opencv2/core/private.cuda.hpp, line 97
私はCVからの情報を印刷:: getBuildInformation():
Other third-party libraries:
Use IPP: 9.0.1 [9.0.1]
at: C:\builds\master_PackSlave-win64-vc12-shared\opencv\3rdparty/ippicv/unpack/ippicv_win
Use IPP Async: NO
Use Eigen: NO
Use Cuda: NO
Use OpenCL: YES
Use custom HAL: NO
それはクーダようですプロセスのどこかで無効になっていますが、理由を把握できません。私は同じ結果で数回再構成して再構築しようとしました。これについていくつかの助けが大好きです!
CMake Guiをお使いですか?そうでない場合。それは試してみると、どのディレクトリが必要なのか、それらが見つかったのか正確であるのかを教えてくれます。 – Micka
はい、私はguiのバージョンとすべてのcuda関連を使用しています。 – markustp
オプション '-LC:/ Program Files/NVIDIA GPUコンピューティングツールキット/ CUDA/v7.5/lib/x64'のフォーマットはgccや他のLinuxコンパイラ(おそらくMinGWの下)で使われているようです。インストールされたCUDAは 'cl'コンパイラでコンパイルされているので、VSプロジェクトでリンクすることはできますか? – Tsyvarev