2015-09-23 10 views
20

Errore:xcode7 ios9 circa libz.tbd non è un file oggetto (non ammessi in una libreria)

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libz.tbd is not an object file (not allowed in a library)

Se sostituisco libz.dylib con libz.tbd, Xcode mostra questo bug. Il mio progetto è una libreria statica Cocoa Touch.

+0

Potrebbe descrivere ciò che si vuole fare? – Gaskoin

+0

Sei sicuro di aver bisogno di questo? –

+0

Ho bisogno di creare una libreria statica. quando ho usato xcode7 per ricompilare il mio progetto, il progetto non può essere compilato con libz.dylib.so Sostituisco libz.dylib con libz.tbd.then mostra questo bug. xcode7 non ha libz.dylib. –

risposta

10

ho trovato la soluzione qui: https://forums.developer.apple.com/thread/4572

In sintesi:

  1. rimuovere il file libz.tbd dalla zona di librerie e framework.
  2. Mostra le impostazioni di generazione per Altre Bandiere Linker aggiungono "-lz"

Non è l'ideale perché bypassa la GUI per la gestione delle librerie collegate nel progetto, ma funziona.

+0

Questo non ha funzionato per me – Alex

8

I passaggi seguenti hanno risolto il problema. Riferimento solution

cui al presente articolo:

  1. Elimina tutti i riferimenti a .tbd file tramite il proprio legata fase librerie, o dalla fase di risorse fascio copiato (dove a volte verranno aggiunti).
  2. Vai a Fasi di compilazione> Collega binario con le librairie> +> Aggiungi altro -> Aggiungi una libreria al progetto, quindi fai clic su "Aggiungi altro ...", quindi su premi Maiusc + Comando + G e digita il percorso "/ usr/lib '- troverai libz.dylib lì.
  3. add "-lz" alle altre bandiere linker
+0

Questo è stato perfetto per me, grazie! – Rachel

+1

È possibile aprire libz.tbd nell'editor di testo per vedere il percorso alla libreria dinamica di riferimento. Su Xcode 8 aggiungendo libz.tbd a BuildPhases> Link BInaryWithLibrary ha lavorato per creare un'app iOS. Tuttavia i file tbd sembrano * NOT * essere supportati quando si costruisce una libreria statica iOS. Cancellare libz.tbd e sostituire con libz.1.dylib e aggiungere il flag di collegamento "-lz" come suggerito qui ha funzionato - Grazie! I file tbd possono essere trovati sotto l'app Xcode. Il percorso è /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib Anche Zlib ha una licenza molto liberale http://www.zlib.net/ –

Problemi correlati