想用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)設為啟動項目,然后運行即可。
其他兩個項目不想要的時候可以右鍵移除。