Come determinare se un dylib OS X è stato collegato con -flat_namespace
-
23-09-2019 - |
Domanda
Ho una terza dylib OS X parti che sto usando nella mia app e non hanno facile accesso al suo creatore. Mi piacerebbe per determinare se è stato collegato con -flat_namespace. È possibile? Se sì, come?
Soluzione
Esegui otool -hV
sulla libreria. Se non vedi TWOLEVEL
, allora è stato collegato con -flat-namespace
. Ad esempio:
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
vs
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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow