我正在尝试安装一个软件包(pyfacetracker以防万一有人好奇)并且在运行setup.py build时遇到查找opencv库时遇到问题。
ld: library not found for -llibopencv_core.2.4.11.dylib
在错误消息(g ++ -bundle undefined dynamic lookup)中,我发现了以下内容:
-L/usr/local/lib -L/Users/xxx/anaconda/lib -llibopencv_core.2.4.11.dylib
我已经使用brew安装了opencv版本2.4.11并进行了检查以确保库位于它们应该位于的位置(在/ usr / local / lib中)。由于它似乎也在/ anaconda / lib中搜索库,我通过conda安装了opencv并更新了setup.py文件以反映版本更改(conda安装2.4.8)。这仍然没有结果。
然后我尝试在3个不同的控制器中运行以下命令(/ usr / local / lib,/ usr / local / Cellar / opencv / 2.4.11_1 / lib和/ Users / xxx / anaconda / lib来确定ld正在寻找图书馆
ld -L/usr/local/Cellar/opencv/2.4.11_1/lib -llibopencv_core.2.4.11.dylib
我收到了与运行setup.py build时完全相同的错误。
我也尝试过更改名称(即-lopencv_core而不是-llibopencv_core),但仍然没有运气。有人可以帮帮我吗?谢谢!
答案 0 :(得分:1)
我想出了答案。如果有人想知道,在osx中,你会想要排除lib(so -lopencv_core)。此外,-l自动采用.dylib扩展名,因此您需要将其保留。