我正在尝试使用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
有人可以告诉我如何使用Xcode进行opencv工作吗?我已经关注了很多论坛和指南,但仍然遇到了同样的错误。
答案 0 :(得分:2)
我遇到了同样的问题,要么使用libc ++获取“未定义符号x86_64”,要么使用libstdc ++获得“未找到cstdint文件”。
最终使它对我有用的是我需要添加比我习惯的更多的库,仅仅为一个简单的项目添加核心,imgproc和highgui是不够的。 所以我去构建设置,搜索链接,并在其他链接标记中添加了全部内容: -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab
我正在使用OpenCV 3.0.0和Xcode 6.4。 C ++标准库设置为 libc ++ 和C ++语言方言 C ++ 11 。希望这有帮助!