Frage

Ich habe eine dritte Partei OS X dylib, dass ich in meiner app bin mit und verfügen nicht über einen einfachen Zugang zu seinem Schöpfer. Ich möchte feststellen, ob es mit -flat_namespace verlinkt. Ist das möglich? Wenn ja, wie?

War es hilfreich?

Lösung

Ausführen otool -hV auf der Bibliothek. Wenn Sie nicht TWOLEVEL sehen, dann wurde es mit -flat-namespace verknüpft. Zum Beispiel:

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

Vergleich

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top