2012-01-07 13 views
7

Quando compilo il mio progetto cocos2d mac ottengo questo errore:Clang: simboli non trovati. cocos2d mac

Undefined symbols for architecture x86_64: 
"_inflateInit2_", referenced from: 
    _ccInflateMemoryWithHint in ZipUtils.o 
"_inflate", referenced from: 
    _ccInflateMemoryWithHint in ZipUtils.o 
"_inflateEnd", referenced from: 
    _ccInflateMemoryWithHint in ZipUtils.o 
"_gzopen", referenced from: 
    _ccInflateGZipFile in ZipUtils.o 
"_gzread", referenced from: 
    _ccInflateGZipFile in ZipUtils.o 
"_gzclose", referenced from: 
    _ccInflateGZipFile in ZipUtils.o 
"_uncompress", referenced from: 
    _ccInflateCCZFile in ZipUtils.o 

ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

risposta

39

è necessario aggiungere la libreria libz.dylib al vostro obiettivo.

A partire da Xcode 4.6, questo è molto semplice. La schermata di riepilogo della destinazione consente di aggiungere e rimuovere framework e librerie. Ecco una dimostrazione:

adding a library to a target in Xcode 4.6 and later

+1

Trovato questo e mi ha aiutato - ora la libreria si chiama "libz.tbd" – Maxxx

22

aprire le impostazioni build di vostro target. Individuare l'impostazione Altre impostazioni linker. Aggiungi la bandiera -lz ad essa.

Non è necessario aggiungere libz.dylib come framework, come suggerisce Rob, anche se questo funziona anche.

+0

Ha funzionato come un fascino quando si tenta di creare un progetto utilizzando la lib statica cocos2d. – diegoreymendez

+1

Funziona anche con Cocos2d (modelli) come origine. (NOTA: le fonti Chipmunk dovevano essere '-f-objc-no-arc'-ed.) – Olie

Problemi correlati