我正在使用CMAKE在Windows上编译带有CUDA支持的OpenCV 3.0.0。当我点击“configure”时,出现以下错误:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cufft_LIBRARY (ADVANCED)
linked by target "opencv_hal" in directory E:/dev-lib/opencv3/sources/modules/hal
...
CUDA_nppc_LIBRARY (ADVANCED)
...
CUDA_nppi_LIBRARY (ADVANCED)
...
CUDA_npps_LIBRARY (ADVANCED)
我在entries中勾选了"WITH_CUDA"和"WITH_CUFFT"。如果我还勾选了"WITH_CUBLAS",那么上面的输出将会增加一个错误。
但在所有这些错误消息之前,它显示了以下内容:
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
这表明CMAKE可以检测到CUDA。然而,需要的四个库找不到。
我之前已经安装了CUDA 7.5并使用Visual Studio 2012编译过它。CUDA示例程序运行得很完美。因此,我的CUDA库应该已经正确安装。
我想知道即使我必须手动设置这些值,我应该如何做?
我的规格:Windows 7 x64,Visual Studio 2012,CMAKE 3.4.0,CUDA Toolkit 7.5
cufft
和nppi
(请检查<CUDA_DIR> \ lib \<platform>
文件夹)。 - Ivan Aksamentov - Drop