1. 程式人生 > >在ubuntu16環境下編譯執行opencv檔案

在ubuntu16環境下編譯執行opencv檔案

新建一個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`
  1. 開啟終端,進入該檔案所在位置(新手需要自己學習一些基本的linux操作指令)
  2. 輸入: ls, 檢視該資料夾是否包含test.cpp。
  3. 在終端中輸入:
  4.  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”,它主要有以下幾個功能:

  1. 檢查庫的版本號。如果所需要的庫的版本不滿足要求,它會打印出錯誤資訊,避免連結錯誤版本的庫檔案。
  2. 獲得編譯預處理引數,如巨集定義,標頭檔案的位置。
  3. 獲得連結引數,如庫及依賴的其它庫的位置,檔名及其它一些連線引數。
  4. 自動加入所依賴的其它庫的設定

使用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