其他方法與優缺點
example.cpp
#include
#include
using namespace cv;
using namespace std;
intmain
(int argc,
char
** ar**)
imshow
("demo」,src)
;waitkey(0
);return0;
}
在專案檔案中新建cmakelists.txt
此處結合官方文件與原始碼中的例子(opencv/examples/cpp/example_cmake/cmakelists.txt):
# 這個是cmake最小版本要求
cmake_minimum_required
(version
3.1)
# enable c
++11,這一段是原始碼裡的
set(
cmake_cxx_standard11)
set(
cmake_cxx_standard_required
true
)# 填寫你的專案名稱project
project
( project )
# 這一句是尋找你的opencv位置
find_package
( opencv required
)# 可以選擇將一些資訊列印出來,也可以不列印
# 依次為opencv位置,版本,庫,包含路徑
message
(status
"opencv library status:"
)message
(status
" config: $"
)message
(status
" version: $"
)message
(status
" librarier: $"
)message
(status
" include path: $"
)# 新增包含目錄
include_directories
( $)
# 把專案名和源檔名填上
add_executable
( project example.cpp )
# 填專案名
target_link_libraries
( project $
)
編寫好cmakelists.txt後,在專案資料夾裡執行一次$ cmake .
,這樣專案裡的庫,標頭檔案等等都處理好了;
之後我們每次修改example.cpp後,編譯與執行只需要:
$ make
$ ./project
可以選擇直接編譯,但是我老是報錯
$ g++ example.cpp -o test
`pkg-config --cflags --libs opencv4`
cmake編譯opencv專案是官方推薦(畢竟官方文件寫的這種方法)
其優點:
1.清楚,配置資訊通過cmakelists.txt可以列印出來
2.方便,編好cmakelists.txt並$ cmake .
後,只需要$ make & ./project
即可
使用GCC和CMake編譯OpenCV
注意 此教程認為你已經成功的在你的工作平台上安裝了opencv。來看乙個簡單的程式例如displayimage.cpp如下 include include using namespace cv int main int argc,char argv mat image image imread ar...
cmake編譯opencv時指定cuda版本
之前有提問說,基於cmake編譯時如果切換cuda版本,比如我同時裝了cuda8和cuda9,opencv總是找到cuda9,我想用cuda8怎麼辦?實際上,手頭上要配置的工程是基於opencv3.1.0的,這個版本沒有對cuda9.0的支援,與其去改opencv的cmake指令碼原始碼,不如切換一...
修改cmake專案編譯配置
告知當前使用的是交叉編譯方式 set cmake system name linux 設定c編譯器 set cmake c compiler arm none linux gnueabi gcc 設定c 編譯器 set cmake cxx compiler arm none linux gnueab...