我试图使用Xcode编译一个简单的opencv代码,但遇到了编译错误。
opencv版本为3.0.0,Xcode版本为6.3(OS X 10.10.3)
在Xcode中,Apple LLVM 6.1语言C++设置为:
c++语言方言:C++11[-std=c++11]
c++标准库:libc++
错误是:
Undefined symbols for architecture x86_64:
"cv::imread(cv::String const&, int)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
当我将c++标准库更改为libstdc++
时,错误为:
/usr/local/include/opencv2/hal/defs.h:271:14: 'cstdint' file not found
有人能告诉我如何让opencv使用Xcode吗?我已经关注了很多论坛和指南,但仍然会遇到同样的错误。
我也遇到了同样的问题,要么是用libc++得到了"Undefined symbol x86_64",要么是使用libstdc++得到了"cstilt file not found"。
最终让我成功的是,我需要添加比以前多得多的库,即使是一个简单的项目,只添加core、imgproc和highgui也是不够的。因此,我转到构建设置,搜索链接并在其他链接器标志中添加了全部内容:-lopenc_calib3d-lopenc_core-lopencv_features2d-lopenv_frann-lopencf_higgui-lopen_v_imgcodecs-lopenpv_imgproc-lopencv_ml-lopenvc_objectdetect-lopenmv_photo-lopenccv_shape-lopencv_setting-lopenncv_superes-lopencs_ts-loppencv_vvideo-lompencv_videostab
我使用的是OpenCV 3.0.0和Xcode 6.4。C++标准库设置为libc++和C++语言方言C++11。希望这能有所帮助!