想用CMake编译OpenCV的初衷是。。。
不知道由于什么情况,在自己的笔记本上写的OpenCV程序在实验室台式机上编译不过,反之亦然,在台式机上写的也不能在笔记本上跑。
然后每次重新建立工程什么的也很不开心。
所以。。据别人说用CMake编译很方便。所以就。。。
有多方便呢,只要有一个CMakeLists.txt(这名字不能变)和一个MyCVProject.cpp(这名字随便起)。
然后用CMake编译,工程就自己生成了。
建议先自己编译一个HelloWorld开心一下。
方法:http://blog.163.com/jacky_ling0/blog/static/1373925712011072375418/
好吧,下面说说OpenCV。
我用的是VS2008.
如果想用CMake编译OpenCV,首先在安装OpenCV的时候就有一点点不太一样。
OpenCV中文网站有介绍:
http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
安装过程我记得有一些细节需要注意:比如Path环境变量之间用分号;隔开,并且不要不小心包含了多余的空格。
比如我的源文件叫MyCVProject.cpp,我要生成的工程和可执行文件叫Threshold。
CMakeLists.txt里面的内容如下:
cmake_minimum_required(VERSION 2.6)
PROJECT(Threshold)
FIND_PACKAGE(OpenCV REQUIRED )
INCLUDE_DIRECTORIES( ${OPENCV_INCLUDE_DIR} )
ADD_EXECUTABLE(Threshold MyCVProject.cpp)
TARGET_LINK_LIBRARIES(Threshold ${OpenCV_LIBS})
之后所有的程序都可以用这个文件,只需要改一下这个里面相应的源文件名字还有你喜欢的工程名,可执行文件名等即可,其他部分都不用改。
此处还可参考:http://hi.baidu.com/azhw/blog/item/9527ac34a5abf5a9d0a2d3cf.html
然后利用CMake编译:Configure,然后Generate。
在指定的路径就出现了想要的项目。里面有三个工程。分别是:ALL_BUILD;Threshold;ZERO_CHECK。
(这里介绍过了:
http://blog.163.com/jacky_ling0/blog/static/1373925712011072375418/)
需要右键把自己的那个工程(此处是Threshold)设为启动项目,然后运行即可。
其他两个项目不想要的时候可以右键移除。