c++ - 找不到 -lopencv_highgui.2.4.9 的库

标签 c++ xcode macos opencv hyperlink

我正在关注 this制作我的第一个 OpenCV 项目,显示一张带有 imshow() 函数的图片。

我右键单击项目并单击“将文件添加到..”,添加了 libopencv_core.2.4.9.dylib 和 libopencv_highgui.2.4.9.dylib。然后我在“标题搜索路径”中添加了“/usr/local/include”。

但是,我遇到了这个错误:“ld: library not found for -lopencv_highgui.2.4.9”。

但如果我在“库搜索路径”中添加“/usr/local/lib”,它就起作用了!

我的问题是:既然我已经在项目中添加了库,为什么还要添加“/usr/local/lib”?

附注我正在使用 Xcode5.1.1 和 OpenCV2.4.9

最佳答案

您只添加了库名称本身。链接器不知道在哪里搜索它。链接器有一些内置的默认搜索路径(例如 /lib/usr/lib),但 /usr/local/lib 不是其中之一。 Historically the local path has to store local software only. /usr 可以存储在网络挂载上。因此,/usr/local 上可能存在其他权限管理,如果 ld 会默认自动搜索此子目录,则可能存在安全问题。

关于c++ - 找不到 -lopencv_highgui.2.4.9 的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25716809/

相关文章:

OSX 中的 SwiftUI 自定义文本字段

xcode - 合并两个分支 svn Xcode?

android - 如果文件在 Android 设备上,是否可以通过 adb 安装 APK?

ruby-on-rails - 在 Mac OS Mavericks 中安装 ruby​​ 1.9.3

iphone:以编程方式展开和折叠 UIView

macos - 如何配置 git 以继承我特定的 $PATH 环境变量?

c++ - 如何使用 Clang 更喜欢一个图书馆位置而不是另一个图书馆位置?

c++ - 用户定义文字的模板替代

c++ - DM_simtoolTest.h :39: error: conversion from `int (*)(int)' to non-scalar type `std::string' requested

c++ - std::ifstream::open不一致失败