我正在关注 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/