2012-03-03 18 views
5

Ya hay un buen número de preguntas relacionadas, pero no lo estoy resolviendo. Estoy construyendo una aplicación que incluye dos bibliotecas estáticas separadas: RestKit y otra que está en NDA. Cuando construyo, estoy recibiendo un Mach-O error de vinculador de Apple de la siguiente manera:Error de símbolo duplicado al vincular varias bibliotecas estáticas.

duplicate symbol _NewBase64Decode 
in /Users/geraldwburke/Desktop/iOS Programming/MyApp/someLib.a(NSData+Base64.o) 
and /Users/geraldwburke/Library/Developer/Xcode/DerivedData/MyAppddlwzdeskfwaxyargomvfhurvxzi/Build/Products/Debug-iphoneos/libRestKit.a(NSData+Base64.o) 
for architecture armv7 

Ahora, he visto algunas soluciones potenciales que hay. This article parecía prometedor. También traté de agregar una regla de compilación utilizando el script desde this blog entry. Intenté agregar y eliminar indicadores del enlazador -ObjC, -all_load y -force_load. No importa lo que haya intentado, sigo teniendo ese mismo error. ¿Alguien tiene alguna idea de cómo solucionar este problema?

BTW Eliminaré mi publicación idéntica. Lo publicó en la cuenta incorrecta.

Respuesta

3

La solución más fácil es modificar el código fuente de una de esas bibliotecas a no definir NewBase64Decode. RestKit es de código abierto; No sé si tienes la fuente de tu biblioteca secreta de NDA.

+0

Modifique el código fuente a _not_ defina NewBase64Decode o cambie NewBase64Decode a otra cosa (¡MyNewBase64Decode quizás!) – sherlock

Cuestiones relacionadas