在我的第一个简单的OpenCV应用程序中,我想保存通过摄像头获取的帧,所以我使用了教程上说的
阅读一些SO上的文章后,我发现这是关于使用的C++标准库的问题,因此我添加了标志
imwrite()
。但问题是,我无法编译,因为出现了以下错误:Undefined symbols for architecture x86_64:
"cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)", referenced from:
_main in video-87ad7a.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
阅读一些SO上的文章后,我发现这是关于使用的C++标准库的问题,因此我添加了标志
libstdc ++
,但是出现了以下情况:g++ -stdlib=libstdc++ -I/usr/local/include -L/usr/local/lib/ -g -o binary video.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_stitching -lopencv_videoio -lopencv_videostab
问题还没有解决。我该怎么办?
更新看起来这个是解决方案。我不知道我缺少了什么该死的标志。