1. LINK : warning LNK4044: unrecognized option '/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64'; ignored
I found the problem, it is in CMakeLists.txt :
foreach(p ${CUDA_LIBS_PATH})
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} -L${p})
endforeach()
Instead of using "${CMAKE_LIBRARY_PATH_FLAG}" which automatically put -LIBPATH, someone put "-L"...
So to fix it:
- Open CMakeLists.txt
- Replace "-L" by "${CMAKE_LIBRARY_PATH_FLAG}"
Configure & Generate the solution with CMake and compile with VS
问题链接:https://stackoverflow.com/questions/36317625/opencv-wont-build-with-cuda-even-though-with-cuda-on-in-cmake
2. opencv_bioinspired310d.lib 无法生成导致其他 cmd.exe 退出等其他问题
打开位于opencv_contrib-3.1.0\modules\bioinspired\src\opencl文件夹:
打开retina_kernel.cl,把所有的注释的//*********改成别的或者删掉即可。然后重新使用cmake 配置生成就可以。
问题链接:http://blog.youkuaiyun.com/github_32886825/article/details/53347507?locationNum=6&fps=1
3. error C2061: 语法错误: 标识符“NppiGraphcutState”
解决方案:需要修改一处源码:
在graphcuts.cpp中将
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
总结:cmake问题很多问题。