OpenCV will not build with CUDA, although WITH_CUDA = ON in CMake

I tried to build OpenCV 3.1 using CMake (gui version) to enable Cuda. I installed the 64-bit version of Cuda version 7.5, and CMake automatically found the correct path to the Cuda toolkit. I made sure the WITH_CUDA value is set to ON, and click configure. This is what I got regarding Kuda:

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

Then I generate Visual Studio 12 2013 Win64.

Next, I open the newly created OpenCV.sln project in Visual Studio 2013 and create the project. It terminates without any errors, but 103 warnings are:

LINK : warning LNK4044: unrecognized option '/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64'; ignored

OpenCV builds just fine, and I can create programs with it. I can also enable "opencv2 / core / cuda.hpp" without any problems. However, when I try to use cuda :: getDevice (), I get this error:

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

, Cuda - , , . . !

+4
2

CMake: Visual Studio.

LINK : warning LNK4044: unrecognized option '/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64'; ignored

"LIBPATH: C:" "LC:".

:

  • CMake
  • IDE/Text,
  • "-LC:" "-LIBPATH: C:".

========= EDIT =========

, CMakeLists.txt:

foreach(p ${CUDA_LIBS_PATH})
  set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} -L${p})
endforeach()

, "$ {CMAKE_LIBRARY_PATH_FLAG}", -LIBPATH, - "-L"...

, :

  • CMakeLists.txt
  • "-L" "$ {CMAKE_LIBRARY_PATH_FLAG}"

CMake VS.

, !

+7

OpenCV Cuda CMakeLists.txt, Dubrzr.

, OpenCV github. .

+2

All Articles