首先,我想说的是CMake的作用,每个编译器在调用头文件的时候都需要编译器配置好读取头文件(*.h)对应的(*.c||*.cpp)的路径,就像调用math.h你得告诉编译器对应的math.c要去什么地方寻找,但是新下载的OpenCV编译器是不知道相应的头文件还有lib文件要去哪里找的,所以程序猿们可以有以下两种方案:
1. 每次创建一个工程,找到调用文件的配置选项,然后手动添加,告诉编译器cv.h在哪,各种库文件(*.lib)文件在哪,当然既然涉及到系统的问题,少不了要去环境变量配置一下系统设置,不过配置环境变量仅仅用一次就可以了。
2. 为了省去每次创建工程都需要手动配置路径的麻烦,用CMake可以将Opencv的相关文件在哪里“永久地”告诉编译器,当然代价就是……失败几率很大(反正我总是配不好,一步出问题就会很蛋疼)
个人挺推荐第一个方案的,因为原理清晰,而且添加路径也不是那么麻烦,打开一个已经配置好的,然后复制粘贴就行了
当时参考的配置方法
http://hi.baidu.com/kuaitoukid/item/45e9073ef08649b8124b144b
然后就是说一下手动配置的时候几个关键的路径吧
环境变量(大小写不敏感,同名下的多路径之间用;隔开)
PATH (只需添加下面中的一行,根据系统情况自行选择)
D:\OpenCV2.3\build\x86\vc10\bin
————————————————————
OPENCV
D:\OpenCV2.3\build
————————————————————
VS中的配置
包含目录”中追加下面一行(包括所有分号,勿删VS原始数据):
;D:\OpenCV2.3\build\include;D:\OpenCV2.3\build\include\opencv;D:\OpenCV2.3\build\include\opencv2
“库目录”中追加下面一行(包括所有分号,勿删VS原始数据):
;D:\OpenCV2.3\build\x86\vc10\lib
“附加依赖库”中追加下面一行(包括所有分号,勿删VS原始数据):(根据具体的版本修改后面的数字)
;opencv_core230d.lib;opencv_highgui230d.lib;opencv_video230d.lib;opencv_ml230d.lib;opencv_legacy230d.lib;opencv_imgproc230d.lib
字母d代表debug模式,不带‘d’就是release模式,对于非企业性质的项目,也没太多区别,配好了debug模式自己玩就行了~