

MacでHomebrewを使ってOpenCV3をインストールし、  
下記「sample.cpp」というファイルを作成しました。

【sample.cpp】

[code]

        #include <opencv2/opencv.hpp>
    int main()
    {
      cv::VideoCapture capture(0);
      for(int i=0;i<5;i++)
      {
        cv::Mat readImg;
        capture >> readImg;
        cv::imshow("Captured Image",readImg);
        cv::waitKey(0);
      }
      return 0;
    }
    
[/code]

ターミナルから下記文言でコンパイルを試みましたが

[code]

    $ clang++ -o sample sample.cpp
    
[/code]

下記エラーが表示されました。

[code]

    Undefined symbols for architecture x86_64:
      "cv::_InputArray::_InputArray(cv::Mat const&)", referenced from:
          _main in sample-b62757.o
      "cv::VideoCapture::VideoCapture(int)", referenced from:
          _main in sample-b62757.o
      "cv::VideoCapture::~VideoCapture()", referenced from:
          _main in sample-b62757.o
      "cv::VideoCapture::operator>>(cv::Mat&)", referenced from:
          _main in sample-b62757.o
      "cv::Mat::deallocate()", referenced from:
          cv::Mat::release() in sample-b62757.o
      "cv::imshow(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cv::_InputArray const&)", referenced from:
          _main in sample-b62757.o
      "cv::waitKey(int)", referenced from:
          _main in sample-b62757.o
      "cv::fastFree(void*)", referenced from:
          cv::Mat::~Mat() in sample-b62757.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
[/code]

こちらのエラーの原因がわかりません。

また、教本を見ながら下記でコンパイルを試みました。

[code]

    $ clang++ -o sample 'pkg-config --cflags opencv' 'pkg-config --libs opencv' sample.cpp
    
[/code]

こちらは下記エラーが出力されました。

[code]

    clang: error: no such file or directory: 'pkg-config --cflags opencv'
    clang: error: no such file or directory: 'pkg-config --libs opencv'
    
[/code]

ファイルがないのかなと思いましたが下記文言を打ち込むと

[code]

    $ pkg-config --cflags opencv
    
[/code]

下記のように出力されます。

[code]

    -I/usr/local/Cellar/opencv/2.4.13_3/include/opencv -I/usr/local/Cellar/opencv/2.4.13_3/include
    
[/code]

下記文言は

[code]

    $ pkg-config --libs opencv
    
[/code]

下記のように出力されます。

[code]

     -L/usr/local/Cellar/opencv/2.4.13_3/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab
    
[/code]

いつもc/c++はコンパイルできます。  
なぜかopencvだけうまくコンパイルできません。

ご教授いただけますと幸いです。


CC BY-SA 3.0
2016-10-19T10:10:41.203
29701
2016-10-19T10:10:41.203
19228
question
c++ macos opencv
mac環境CUIでOpenCVを触っていますが.cppファイルがコンパイルできない。