您的位置:首页 > 运维架构

OpenCV3.0 或OpenCV3.1 与cuda编译出现LINK: warning LNK4044: 无法识别的选项/LC:/Program Files/XXXXXXXX/lib/x64

2016-12-03 21:06 615 查看
OpenCV3.0 或OpenCV3.1 与cuda编译出现
LINK: warning LNK4044: 无法识别的选项“/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64”;已忽略
的问题。好吧,为了显示更好一点,还是截个图吧。




为了防止语句有歧义,就简单说一些重点要注意的东西吧。

OpenCV的主模块的源码的文件夹名字叫做
opencv-master
。为啥叫做
opencv-master
呢,那是因为从Github下载下来然后解压的名字就是这个。

OpenCV的Contrib模块的源码的文件夹名字叫做
opencv_contrib-master
,取这个名字的原因也是和上面一样。如果大家的Visual Studio是中文的,那么会显示
LINK: warning LNK4044: 无法识别的选项“/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64”;已忽略
,如果是英文的,则显示
LINK : warning LNK4044: unrecognized option '/LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64'; ignored
。当然,如果CUDA的安装路径与版本和我的不一样,那么出现的错误提示也会稍微的不一致。

首先,在源代码下面搜索
CMakeLists.txt
文件,当然,最好用Everything这个小软件搜索,搜索完了之后,用文本编辑器软件打开,比如Notepad++,搜索的结果图和用文本编辑器打开的界面如下所示:





弄完之后,用Notepad++在所有已打开的文本中搜索
foreach(p ${CUDA_LIBS_PATH})
,至于为啥搜索这个东西呢,是因为已经有大神定位到了这一区域,为了省事儿,所以搜索这个了。

,具体问题主要出现在第638行代码中,

,将其改成下面的形式:


。为了给大家方便,我还是弄个可以复制粘贴的吧。

foreach(p ${CUDA_LIBS_PATH})
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${CMAKE_LIBRARY_PATH_FLAG}${p})
endforeach()


最后,重新Cmake。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cuda opencv gpu
相关文章推荐