Как определить, был ли dylib OS X связан с -flat_namespace - PullRequest
3 голосов
/ 31 марта 2010

У меня есть сторонний OS X dylib, который я использую в своем приложении, и у меня нет легкого доступа к его создателю. Я хотел бы определить, было ли это связано с -flat_namespace. Это возможно? Если да, то как?

1 Ответ

10 голосов
/ 02 апреля 2010

Выполнить 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
...