vs2015--cuda8.0--cmake3.17编译opencv4.0.0遇到的两个bug
环境:
vs2015x64
cuda8.0
opencv4.0.0
opencv-contrib4.0.0
cmake3.17
bug1: 模块cvv中找不到 标识符: FILTER_SCHARR
解决办法:1. 分析: FILTER_SCHARR 是在opencv模块imgproc.hpp中定义的一个枚举数,按理说是不可能找不到的
2. 解决办法: 将 出现问题的地方查看,发现已经包含了头文件"opencv2/imgproc.hpp", 于是修改 FILTER_SCHARR 为 cv::FILTER_SCHARR
有三处。
单独编译,通过。
bug2 :
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2001 无法解析的外部符号 "__declspec(dllimport) bool cv::__termination" (__imp_?__termination@cv@@3_NA) opencv_cudev D:\win10\opencv400SourceFull\bd2015Cuda80\modules\cudev\opencv_cudev_main.obj 1
分析:这是opencv-cudev模块编译失败。此时其它模块都已经便宜ok了。
解决办法:
1.查看cmakelists.txt 发现其只依赖于opencv-core模块
2直接在vs工程中查看其依赖项,添加opencv-core库
3.编译通过。
最后截图:
_________________________________________________________________________________________________________________________________________________
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采