cmake編譯opencv專案

2021-09-25 09:10:46 字數 1773 閱讀 3548

其他方法與優缺點

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...