RaphAstronome
Messages postés104Date d'inscriptionsamedi 7 décembre 2002StatutMembreDernière intervention17 août 2009
-
1 févr. 2006 à 17:12
RaphAstronome
Messages postés104Date d'inscriptionsamedi 7 décembre 2002StatutMembreDernière intervention17 août 2009
-
2 févr. 2006 à 22:53
Bonjour,
Je suis actuellement sur un AMD64 avec Linux 64 bits.
Lorsque je compile mon code tout va bien mais il n'est chargeable que sur AMD64.
Or j'aurais besoin qu'il tourne un peu n'importe où (i586 ou i686) mais lorsque je met "-march=i586 -mtune=i586" j'obtiens :
"main.cpp:1: erreur: le processeur sélectionné ne supporte pas le jeu d'instructions x86-64"
Comment faire pour compiler ?
La publication des sources serait embêtant car ce programme doit être utilisable directement (double clic).
cs_bouba
Messages postés518Date d'inscriptiondimanche 2 décembre 2001StatutMembreDernière intervention10 novembre 20073 1 févr. 2006 à 17:47
Bonjour, je ne sais pas trop d'où celà vient, peut-être qu'il y a quelque chose de spécial à réaliser avec g++ pour la compilation croisée, celà vient peut-être de ta variable CHOST qui doit changer.
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=i586 -mtune=i586"
Par contre il me semble que l'option -mtune est dépréciée sur les dernières versions de g++ (à vérifier).
Sinon, le flag "-march=i586" c'est pas plutôt pour les pentium mmx ? La encore je ne suit pas certain, mais si tu veux compiler pour tous les processeurs x86 AMD/Intel il me semble qu'il faille utiliser.
CHOST="i386-pc-linux-gnu"
CFLAGS="-march=i386"
Pour plus d'informations, va voir ce site: http://gentoo-wiki.com/Safe_Cflags Si tout ceci ne marche pas tappes "cross compilation" dans google et tu trouveras sans doute plus d'informations à ce sujet.
Dis-moi si tu à réussi à faire marcher tout ça, ca m'interesserais bien de savoir comment tu as fais.