2012-01-07 12 views
7

cuando compilo mi proyecto cocos2d mac me sale este error:Clang: símbolos no encontrados. 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) 

Respuesta

39

es necesario agregar la biblioteca libz.dylib a su objetivo.

A partir de Xcode 4.6, esto es muy fácil. La pantalla de resumen de objetivos le permite agregar y eliminar marcos y bibliotecas. Aquí está una demostración:

adding a library to a target in Xcode 4.6 and later

+1

Encontré esto y me ayudó - ahora la biblioteca se llama "libz.tbd" – Maxxx

22

abrir la configuración de compilación del objetivo. Busque el Configuración de Otras banderas del enlazador. Agregue la bandera -lz.

No necesita agregar el libz.dylib como marco como sugiere Rob, aunque eso también funciona.

+0

Funcionó como un encanto al tratar de construir un proyecto utilizando la lib estática cocos2d. – diegoreymendez

+1

También funciona con Cocos2d (plantillas) como fuente. (NOTA: las fuentes de Chipmunk deben ser '-f-objc-no-arc'-ed) – Olie

Cuestiones relacionadas