1

我正在尝试在 mac mountian-lion 上链接一个动态库(dylib)。我尝试的任何方法都没有奏效。

$ gcc main.cpp -l/usr/local/lib/libopencv_core.2.4.6.dylib ld:找不到-llibopencv_core.2.4.6.dylib的库

图书馆存在:

$ ls /usr/local/lib/libopencv_core.2.4.6.dylib /usr/local/lib/libopencv_core.2.4.6.dylib

我使用 clang 得到了相同的 null 结果。使用 otool 揭示依赖关系...

$ otool -L /usr/local/lib/libopencv_core.2.4.6.dylib /usr/local/lib/libopencv_core.2.4.6.dylib:lib/libopencv_core.2.4.dylib(兼容版本2.4.0,当前版本2.4 .6) /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL(兼容版本 1.0.0,当前版本 1.0.0) /usr/lib/libstdc++.6.dylib(兼容版本 7.0.0,当前版本 56.0.0)/usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 169.3.0)

我不确定问题是什么,可能是版本问题,我不知道。我可能遗漏了一些简单但必不可少的东西:谁能告诉我我遗漏了什么?

4

1 回答 1

0

为了引用具有以下文件名的库:

libMyLib.{a,so,dylib}

使用-l命令行选项,您可以使用以下形式:

-lMyLib

所以试试这个:

$ gcc main.cpp -L/usr/local/lib -lopencv_core

(另请注意,大多数情况下通常不希望与版本化动态库链接,因此我已将其从命令行中删除)。

于 2013-10-10T10:57:15.620 回答