Problème de compilation "universelle"

Fabllot

Membre enregistré
6 Juillet 2006
8
0
Bonjour !

Je cherche à déployer une application compilée sur un iMac OS X 10.5 (J'ai pas le choix c'est la machine qu'on m'a donnée!).
Cependant, si tout mon projet compile et fonctionne correctement sous 10.5, quand j'installe les binaires sur un MacBook Pro 10.4, il me dit que que certaines bibliothèques sont trop anciennes, entre autres : libiconv.2.dylib qui est en version 7.0 sur 10.5 et en 5.0 sur 10.4...

Voilà j'ai tenté de compiler mon projet avec les options
Bloc de code:
-arch i386 -universal -sdk=/Developer/SDKs/MacOSX10.4u.sdk
et mon problème vient d'une lib externe que j'utilise qui a un symbole "_clock$UNIX2003" que le compilateur n'arrive pas à résoudre.

Et lorsque je tente de compiler cette dite bibliothèque avec les mêmes options le compilateur s'arrete sur une erreur :
Bloc de code:
ld: library not found for -ldylib1.10.5.o
Ce qui est étrange c'est que je demande explicitement de compiler avec le sdk 10.4, et a priori le compilateur recherche comme même des lib du sdk 10.5...


Avez-vous une petite idée de comment résoudre ce problème ?
Petite précision : je n'utilise pas XCode mais uniquement des Makefiles !

Merci d'avance de votre aide !
 
Bonjour !

Je cherche à déployer une application compilée sur un iMac OS X 10.5 (J'ai pas le choix c'est la machine qu'on m'a donnée!).
Cependant, si tout mon projet compile et fonctionne correctement sous 10.5, quand j'installe les binaires sur un MacBook Pro 10.4, il me dit que que certaines bibliothèques sont trop anciennes, entre autres : libiconv.2.dylib qui est en version 7.0 sur 10.5 et en 5.0 sur 10.4...

Voilà j'ai tenté de compiler mon projet avec les options
Bloc de code:
-arch i386 -universal -sdk=/Developer/SDKs/MacOSX10.4u.sdk
et mon problème vient d'une lib externe que j'utilise qui a un symbole "_clock$UNIX2003" que le compilateur n'arrive pas à résoudre.

Et lorsque je tente de compiler cette dite bibliothèque avec les mêmes options le compilateur s'arrete sur une erreur :
Bloc de code:
ld: library not found for -ldylib1.10.5.o
Ce qui est étrange c'est que je demande explicitement de compiler avec le sdk 10.4, et a priori le compilateur recherche comme même des lib du sdk 10.5...


Avez-vous une petite idée de comment résoudre ce problème ?
Petite précision : je n'utilise pas XCode mais uniquement des Makefiles !

Merci d'avance de votre aide !

CFLAGS="gcc -mmacosx-version-min=10.4 -arch i686 -arch ppc -ansi -Wall -O2 -I."

LDFLAGS="gcc -mmacosx-version-min=10.4 -arch i686 -arch ppc -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"

attention a bien inclure tes standards headers

_clock$UNIX2003 oui c est un stub unix03, la lib externe doit aussi exister pour le target
si ta lib n existe pas pour le target 10.4 tu as un beau melange