带Xcode 6.3的OpenCV 3.0.0

时间:2015-06-27 15:57:49

标签: xcode opencv c++11

我正在尝试使用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工作吗?我已经关注了很多论坛和指南,但仍然遇到了同样的错误。

1 个答案:

答案 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 。希望这有帮助!