在ubuntu16環境下編譯執行opencv檔案
阿新 • • 發佈:2018-11-06
新建一個test.cpp檔案
#include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; int main( ) { Mat image; image = imread("/home/dxy/研究課題/測試opencv/l.jpg", 1 ); //目錄按照自己的目錄 if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; } #g++ Dis.cpp -o Dis.o `pkg-config --cflags --libs opencv`
- 開啟終端,進入該檔案所在位置(新手需要自己學習一些基本的linux操作指令)
- 輸入: ls, 檢視該資料夾是否包含test.cpp。
- 在終端中輸入:
-
1. g++ test.c -o test `pkg-config --cflags --libs opencv` (該條命令會生成一個test檔案)
2. ./test (此條命令用來執行生成的test檔案)
到此,就會顯示出你所載入的那張圖片啦!
注意: g++ test.c -o test `pkg-config --cflags --libs opencv` 解析
在上面的編譯命令中我們其實用到了一個工具“pkg-config”,它主要有以下幾個功能:
- 檢查庫的版本號。如果所需要的庫的版本不滿足要求,它會打印出錯誤資訊,避免連結錯誤版本的庫檔案。
- 獲得編譯預處理引數,如巨集定義,標頭檔案的位置。
- 獲得連結引數,如庫及依賴的其它庫的位置,檔名及其它一些連線引數。
- 自動加入所依賴的其它庫的設定
使用pkg-config時,選項--cflags 它是用來指定程式在編譯時所需要標頭檔案所在的目錄,選項 --libs則是指定程式在連結時所需要的動態連結庫的目錄。
(頭一回寫文章,發現這個編輯文字的視窗真難用)
參考連結:https://blog.csdn.net/catherine627/article/details/53375620/
https://blog.csdn.net/htt789/article/details/79957424
https://blog.csdn.net/u011557212/article/details/54706966?utm_source=itdadao&utm_medium=referral