【问题标题】:dynamic library linkining on max mountain-lionmac mountain-lion上的动态库链接
【发布时间】:2013-10-18 00:17:03
【问题描述】:

我正在尝试在 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)

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

【问题讨论】:

    标签: macos osx-mountain-lion


    【解决方案1】:

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

    libMyLib.{a,so,dylib}
    

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

    -lMyLib
    

    所以试试这个:

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

    (另请注意,大多数时候链接版本化动态库通常是不可取的,因此我已将其从命令行中删除)。

    【讨论】:

      猜你喜欢
      • 2012-08-22
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      相关资源
      最近更新 更多