0

Beagleboneで実行するためにopenCVを使用するC++で次のコードを記述しました。

    #include <unistd.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <errno.h>
    #include <fcntl.h>
    #include <termios.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <netinet/in.h>
    #include "opencv/cv.h"
    #include "opencv/highgui.h" 

    using namespace cv;
    using namespace std;

    int main(int argc, char *argv[])
    {
         CvCapture *capture = 0;
         Mat img3;
         Mat src;

         capture = cvCaptureFromCAM(0);

         vector<int> p;
         p.push_back(CV_IMWRITE_PNG_COMPRESSION);
         p.push_back(9);

         while (1) {
              img3 = cvQueryFrame(capture);
              cvtColor(img3, img3, CV_BGR2GRAY);
              pyrDown(img3, src, Size( img3.cols/2, img3.rows/2 ) );
              if (!imwrite("/home/root/Desktop/website/fig3bmp.bmp",src,p)) {
                  printf("mat not saved!!!\n"); 
              }
         }

         return 0; 
    }

"g ++ -o CamaraTest CamaraTest.cpp"を使用してコードをコンパイルしようとしましたが、機能せず、発生するすべてのエラーは次のようになります: "undefined reference to:cv ..."

ファイル「cv.h」と「highgui.h」がディレクトリ「/usr/ include/opencv」にあることをすでに確認しました。

このコードをコンパイルするにはどうすればよいですか?どんな提案でも大いに役立ちます。

前もって感謝します。

ガス。

4

1 に答える 1

1

これらの「未定義の参照先:cv ...」メッセージは、ライブラリが見つからないためのリンカーエラーです。g++コマンドラインでOpenCVライブラリにリンクする必要があります。例:

$ g++ -Wall -g -o CamaraTest CamaraTest.cpp `pkg-config --cflags --libs opencv` 
于 2013-01-28T15:59:21.467 に答える