OSX:DLL具有对自身的引用

  • 本文关键字:引用 DLL OSX macos
  • 更新时间 :
  • 英文 :


我有一个在OSX 10.6上构建的库。它与那个版本的MacOS上的应用程序运行良好。在OSX 10.7上,它运行不正常,因为它不能正确地找到所有的依赖项,我怀疑它认为它与自己有关。当我在screens.so上运行"otool-L"时,为什么screens.so会显示?这是我应该删除的东西吗?如果是,如何删除?

screens.so:
    screens.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0)
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
    /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 1327.73.0)
    /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libwx_macud-2.8.0.dylib (compatibility version 2.6.0, current version 2.8.4)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)

输出很好-第一行只是动态库的ID字符串,它向您展示了在链接时将使用什么嵌入到可执行文件中。例如:

$ otool -L /usr/lib/libz.dylib      
/usr/lib/libz.dylib:
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)

这表明链接-lz将导致二进制文件中的/usr/lib/libz.1.dylib加载命令。

但回到你的问题——它与第一行无关,它与这行有关:

    /usr/lib/libwx_macud-2.8.0.dylib (compatibility version 2.6.0, current version 2.8.4)

它正在链接一个Lion中不存在的库-你确定你需要它吗?

最新更新