Tengo un proyecto de Xcode que tiene un objetivo de biblioteca estática "maestra", que incluye/enlaces a otras bibliotecas estáticas de otros proyectos de Xcode.Biblioteca estática de construcción de iPhone para armv6 y armv7 que incluye otra biblioteca estática
Al generar el objetivo de la biblioteca maestra para "Optimizado (armv6 armv7)", se produce un error en la última fase, durante el paso CreateUniversalBinary. Para cada archivo .o de las bibliotecas que se incluye por la biblioteca principal, se reportó el siguiente error (por ejemplo, el archivo FBConnectGlobal.o):
warning for architecture: armv6 same member name (FBConnectGlobal.o)
in output file used for input files: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv6/libMTToolbox.a(FBConnectGlobal.o)
and: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv7/libMTToolbox.a(FBConnectGlobal.o)
due to use of basename, truncation and blank padding
Al final, Xcode dice que la construcción ha tenido éxito . Sin embargo, al usar la biblioteca estática final en un proyecto de aplicación, no se compilará porque encuentra símbolos duplicados en una parte de la construcción (armv6) y omite símbolos en la otra parte de la construcción (armv7).
¿Alguna idea de cómo solucionar esto?
M
No cree bibliotecas en otras bibliotecas: es una receta para confusión, errores de símbolos duplicados y resultados difíciles de depurar . Mira esta pregunta: http://stackoverflow.com/questions/2300867/how-can-i-avoid-duplicate-symbol-errors-in-xcode-with-shared-static-libraries/2300873#2300873 –
Carl, gracias . Quizás podrías publicar eso como respuesta a mi pregunta en lugar del comentario, para poder marcarla como respondida. –