如何确定OS X dylib是否与-flat_namespace链接

时间:2010-03-31 13:59:41

标签: xcode macos dynamic-linking dylib dyld

我有一个第三方OS X dylib,我正在我的应用程序中使用,并且无法轻松访问其创建者。我想确定它是否与-flat_namespace链接。那可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:10)

在库上运行otool -hV。如果您没有看到TWOLEVEL,则会将其与-flat-namespace相关联。例如:

twolevel.dylib:
Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64  X86_64        ALL  0x00       DYLIB     8        672   NOUNDEFS DYLDLINK TWOLEVEL NO_REEXPORTED_DYLIBS

flat.dylib:
Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64  X86_64        ALL  0x00       DYLIB     8        672 DYLDLINK NO_REEXPORTED_DYLIBS