Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: swapd0 en 17 de Noviembre de 2010, 11:38:03 PM

Título: XCode-3 y librerias estaticas
Publicado por: swapd0 en 17 de Noviembre de 2010, 11:38:03 PM
Hola, sigo trasteando con XCode-3 y hay cosas que me sacan me matan...

Tengo una pequeña aplicacion que carga una libreria estatica hecha en c++, las dos estan hechas por mi, todo compila bien pero al linkar me dice que no encuentra las referencias a las clases de la libreria.

Lo que me mosquea es que antes pone esto:

ld warning: in /code/libs/cad/build/Debug/libcadBSD.a, file is not of required architecture

Mi pregunta es, ¿como leches puedo añadir una libreria estatica a un proyecto?, en la pestaña "General" del proyecto tengo añadido a libcadBSD.a en el panel de "linked Libraries" pero parece que no le hace caso.

Gracias.
Título: Re: XCode-3 y librerias estaticas
Publicado por: Zaelsius en 18 de Noviembre de 2010, 01:42:50 AM
ld warning: in /code/libs/cad/build/Debug/libcadBSD.a, file is not of required architecture

Ejecuta "lipo -info libcadBSD.a", a ver para qué arquitectura está compilada tu librería. Lo más probable es que estés intentando compilar una aplicación para distintas arquitecturas a la vez (por ejemplo x86 y PowerPC) y tu librería estática solo esté compilada para una arquitectura, o bien estás compilando la app para ARM (iOS) y tienes la librería solo en x86.
Título: Re: XCode-3 y librerias estaticas
Publicado por: swapd0 en 19 de Noviembre de 2010, 12:47:32 AM
Ya lo he arreglado, como dices Zaelsius el problema va por ahí, pero no es solo el tipo de arquitectura (x86, PowerPC), también hay que mirar el tipo de objeto (universal u otra que no me acuerdo) y el tipo de leguaje usado (ANSI C, C99 GNU99...), la versión del SO destino (10.4 o 10.5)...

Resumiendo, que como es tan genérico el entorno y puedes programar en C, C++, Objetive-C, Objetive-C++... y otras cosas, como se te pase lo mas mínimo te encuentras con un montón de problemas.