写这个的目的主要是因为自己配置的时候出了不少问题,以后可能还会用到,一是自己做个笔记,后续有问题可以来
看看,另外如果也能对其他遇到这类问题的朋友提供帮助也不错,本人比较懒,就写简单一点了!
环境:win7 64位,VS2012,OpenCV3.0,cmake-3.4.0-rc3-win32-x86
遇到的问题一一罗列如下:
(1)---cmake版本问题: 就我编译的时候最新版本已经是3.9了,刚开始我也在用最新版,一致出现一些报错,然
后看网上说最好用3.4或者更早的版本,具体报错是什么来着,我忘了。。。
(2)---opencv contribute模块的版本一定要对,一般我们到git下载opencv contribute模块都是提供最新的3.2版
本,而你要选择release里面的对应比如我用的3.0,如果版本下错了,那你后面编译也会出错
(3)---编译源文件路径一定是opencv下的sources文件夹目录,不然也一直报错说目录不对或者找不到源文件哟
(4)---编译报错提示不能识别round, 或者NAN, 还有下面这个U报错,具体可以看下这个链接
http://answers.opencv.org/question/64057/opencv-30-xfeatures2dlib-not-being-compiled/
除了替换的方法,也可以禁用一些build选项DWITH_opencv_line_descriptor=OFF
BUILD_opencv_Saliency=OFF这样编译的时候这些错误都不会报了
(5)---opencv contribute模块的目录对应OPENCV_EXTRA_MODULES_PATH这个目录要填
xxxx/opencv_contrib/modules到modules这个目录来
(6)---生成32/64位的时候注意,在configure的时候如果要生成32位那就选32位的也就是VS2012后面什么
都不跟的,如果要生成64位的就要选后面跟win64的,否则你就算在VS2012里面改了生成平台x64他也生成不
了
(7)---如果要生成python可用的cv2.pyd, 那么一定要把BUILD_SHARED_LIBS=OFF,把勾去掉也就是以静
态库形式
(8)---生成cv2.pyd的时候也要注意版本问题,如果生成32位的pyd,那么你的python版本就要是32位的,
反之亦然,不然,一大推错误来袭,就提示error LNK2019:无法解析的外部符号。。。。。
好了,我就简单这么写一下后续忘了可以来看看