Home Articles

最大山狮上的动态图书馆链接

Asked
Viewed 573 times
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)

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

1 Answer

  • 0

    为了引用文件名为的库:

    libMyLib.{a,so,dylib}
    

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

    -lMyLib
    

    试试这个:

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

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

Related