【问题标题】:Using OpenCV in Xcode project gives linker errors在 Xcode 项目中使用 OpenCV 会导致链接器错误
【发布时间】:2011-09-24 00:05:32
【问题描述】:

通过他们的 cmake 过程构建和安装 opencv 后,我采取了一些建议的步骤将库集成到 Xcode 项目中。

  • 我在构建阶段为 libopencv_core.dylib 和 libopencv_highgui.dylib 使用“链接二进制文件”
  • “标头搜索路径”包含 /usr/local/include/ 和 /usr/include/(opencv 标头本身位于 /usr/local/include/opencv2 中,我已尝试将其包含在内)
  • “库搜索路径”包含 /usr/local/lib 和 /usr/lib(opencv dylib 文件位于 /usr/local/lib/)

然后我添加了一些演示 opencv 代码。当我运行这个项目时,我收到了你所期望的链接问题的错误:

Apple Mach-O Linker Error: Undefined symbols for architecture x86_64: "_cvCvtColor", referenced from:

在我包含的 dylib 上使用 file 显示了我的期望:

file /usr/local/lib/libopencv_core.dylib /usr/local/lib/libopencv_core.dylib: Mach-O 64-bit dynamically linked shared library x86_64

file /usr/local/lib/libopencv_highgui.dylib /usr/local/lib/libopencv_highgui.dylib: Mach-O 64-bit dynamically linked shared library x86_64

这两个文件都是为正确的架构而构建的,并且(我认为)正确地添加到了项目中。如何调试我可能遇到的其他链接器问题?我从这里去哪里?

【问题讨论】:

    标签: objective-c xcode4 opencv


    【解决方案1】:

    cvtColor 在 libopencv_imgproc.dylib 中。将其添加到“Link Binary with Libraries”阶段,你应该会很好。

    【讨论】:

    • 谢谢!我想我在某处读到过,我只需要包含 core 和 highgui,而且该建议显然不适用于我正在构建的项目。
    • The wiki选择 libopencv_core.dylib、libopencv_highgui.dylib 以及您的项目所需的任何其他库OpenCV Documentation 会告诉你哪个库包含你正在使用的函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2020-06-15
    • 2017-09-12
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    相关资源
    最近更新 更多