mac環境CUIでOpenCVを触っていますが.cppファイルがコンパイルできない。
MacでHomebrewを使ってOpenCV3をインストールし、
下記「sample.cpp」というファイルを作成しました。
【sample.cpp】
#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;
}
ターミナルから下記文言でコンパイルを試みましたが
$ clang++ -o sample sample.cpp
下記エラーが表示されました。
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)
こちらのエラーの原因がわかりません。
また、教本を見ながら下記でコンパイルを試みました。
$ clang++ -o sample 'pkg-config --cflags opencv' 'pkg-config --libs opencv' sample.cpp
こちらは下記エラーが出力されました。
clang: error: no such file or directory: 'pkg-config --cflags opencv'
clang: error: no such file or directory: 'pkg-config --libs opencv'
ファイルがないのかなと思いましたが下記文言を打ち込むと
$ pkg-config --cflags opencv
下記のように出力されます。
-I/usr/local/Cellar/opencv/2.4.13_3/include/opencv -I/usr/local/Cellar/opencv/2.4.13_3/include
下記文言は
$ pkg-config --libs opencv
下記のように出力されます。
-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
いつもc/c++はコンパイルできます。
なぜかopencvだけうまくコンパイルできません。
ご教授いただけますと幸いです。