在Windows 7上使用cuda5支持构建Opencv 2.4.3时nvcc出现问题

时间:2013-01-04 09:59:05

标签: c++ visual-studio-2008 opencv cuda

我无法使用cmake构建支持CUDA(版本5)的OpenCV 2.4.3库。 问题似乎来自nvcc,根据另一个帖子:Why won't OpenCV compile in NVCC?。但这并没有解释如何安装OpenCV。

任何可以帮助我的答案都将非常感激!

我的系统设置:

Computer: Dell46 precision M4700 machine with Windows 7 professional, 64bit os 
Compiler: Microsoft Visual Studio 2008, 
CMake version: 2.8.10.2 
CUDA: 5.0

以下是我在cmake configure中设置'使用Cuda'时构建Opencv时的错误示例:

Error   3   fatal error : Option '--cubin (-cubin)' is not allowed when compiling for multiple GPU code instances   nvcc
Error   4   fatal error LNK1181: cannot open input file '..\..\lib\Release\opencv_core243.lib'  opencv_test_ml
Error   5   fatal error LNK1181: cannot open input file '..\..\lib\Release\opencv_core243.lib'  opencv_perf_video
Error   6   fatal error LNK1181: cannot open input file '..\..\lib\Release\opencv_core243.lib'  opencv_test_features2d
Error   7   fatal error LNK1181: cannot open input file '..\..\lib\Release\opencv_core243.lib'  opencv_perf_nonfree
Error   8   fatal error LNK1181: cannot open input file '..\..\lib\Release\opencv_core243.lib'  opencv_perf_photo
etc.

1 个答案:

答案 0 :(得分:2)

:)很高兴终于找到了解决方案! 如上面显示的第一个错误所示,不允许使用-cubin,因此解决方法是删除此选项。逐步解决方案是:

  1. cmake-gui,选择OpenCV源路径并指定构建路径。配置(选中“用cuda”),生成。
  2. 转到opencv的构建路径(在cmake-gui中指定),打开CMakeCache.txt。
  3. 将CUDA_BUILD_CUBIN:BOOL设置为OFF,如下所示:
  4. 使用VC ++构建opencv。

  5. <CMakeCache.txt>: 
    //Generate and parse .cubin files in Device mode.
    CUDA_BUILD_CUBIN:BOOL=OFF
    
    祝你好运!