【问题标题】:Issue compiling opencv in osx maverick: ld: symbol(s) not found for architecture x86_64在 osx maverick 中编译 opencv 时出现问题:ld: symbol(s) not found for architecture x86_64
【发布时间】:2013-10-23 22:06:50
【问题描述】:

今天我已经从 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

谁能帮帮我?

【问题讨论】:

  • 标题不是放置 Google 搜索的地方。这是对您的问题进行简要总结的地方。
  • 我已经编辑了标题....ok?
  • 查看我对您的标题的更新。注意英文有大写字母;确保您正确使用键盘上的 shift 键。

标签: macos opencv cmake


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 请尽量避免发帖exact duplicate answers。如果您认为该问题是重复的(看起来确实如此),请将其标记为这样。
      【解决方案4】:

      我也遇到了上述错误。 在我安装命令行工具和cmake并再次make后,上面的错误消失了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 2015-04-23
        • 2020-08-02
        • 1970-01-01
        相关资源
        最近更新 更多