图书馆找不到OpenCV

时间:2013-07-16 16:18:27

标签: xcode opencv

我在Mac 10.7.5上,使用xcode 4.6.2并使用OpenCV 2.4.3库。我在终端中完成了使用cmake文件制作构建目录的过程并进行了下载。

我在Xcode中添加了.dylib文件并更改了标题路径,将C ++库更改为libstdc ++,但是当我编译时出现了这个错误:

ld: library not found for -lopencv_calib3d.2.4.3
clang: error: linker command failed with exit code 1 

我在项目中添加了libopencv_calib3d.2.4.3.dylib所以我不知道它还需要什么。任何想法?

1 个答案:

答案 0 :(得分:2)

如果你的“后端”是Cmake,你应该坚持使用它。当重新运行cmake时(例如,在对其进行更改之后发生),Xcode中的本地配置更改可能会被“秘密”覆盖,从而产生奇怪的构建错误并迫使您记住所做的所有手动更改。

您的问题似乎是生成的项目似乎不知道在哪里查找opencv。

假设你使用macports安装了opencv,你应该添加一行

link_directories(/opt/local/lib) 

到你的CMakeLists.txt。 (如果您使用brew安装它,或者手动编译它只需替换/opt/local/lib /usr/local/lib或编译库的路径

还要确保链接opencv_calib3d而不是opencv_calib3d.2.4.3(除非你有一个非常特别的理由绕过这个,但这通常意味着设置中的其他东西很奇怪:))

您可能已经知道的最终指针:由于您已经在使用Cmake,因此您应该使用Cmake中的TARGET_LINK_LIBRARIES(...)添加要链接的库,而不是在Xcode中手动添加它们(参考我之前的参数)。