在osx maverick中编译opencv的问题:找不到架构x86_64的ld:符号

时间:2013-10-23 22:06:50

标签: macos opencv cmake

今天我从osx 10.8升级到10.9,现在我正在尝试从github编译opencv master但我有一些问题

[ 21%] Built target IlmImf
Linking CXX shared library ../../lib/libopencv_core.dylib
Undefined symbols for architecture x86_64:
  "___sincos_stret", referenced from:
      cv::RotatedRect::points(cv::Point_<float>*) const in matrix.cpp.o
      cv::RotatedRect::boundingRect() const in matrix.cpp.o
ld: symbol(s) not found for architecture x86_64

任何人都可以帮我一把吗?

4 个答案:

答案 0 :(得分:2)

您需要通过App Store更新到Xcode 5.0.1,并从开发者网站下载适用于Mavericks的命令行工具:https://developer.apple.com/downloads/index.action。 最后,确保清理cmake缓存。

答案 1 :(得分:1)

使用g ++编译c ++代码而不是gcc。这实际上解决了我的类似问题。

答案 2 :(得分:0)

我在用g ++编译时使用-mmacosx-version-min=10.8选项解决了这个问题。它可能不是一个永久的解决方案,但至少我的代码会再次编译。

答案 3 :(得分:0)

我也遇到了上述错误。 安装命令行工具和cmake并重新制作后,上面的错误消失了。