GCC: désolé, pas implémentée: 64-bit de mode pas compilé dans

J'ai construit GCC 4.7 sur mon x86 32 bits système linux. Lorsque j'essaie de cross-compiler avec l'option-m64 drapeau-je obtenir suivantes:

désolé, non implémentées: mode 64 bits sont pas compilées dans

tandis que le compilateur fourni par défaut par ma distribution Linux peut le cross-compiler avec -m64.

Que dois-je passer à ./configurer pour activer le 64 bits mode de GCC? Ce sont les options que j'ai utilisé pour construire GCC 4.7:

$ /usr/local/bin/g++ -v Using built-in specs.
COLLECT_GCC=/usr/local/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ./configure --enable-multiarch --with-cloog=/usr/local/ --with-mpfr=/usr/local/ --with-ppl=/usr/local/ --verbose --enable-languages=c,c++
Thread model: posix gcc version 4.7.0 20120113 (experimental) (GCC)

EDIT:

--enable-multilib et --enable-cibles=i686-pc-linux-gnu,x86_64-pc-linux-gnu

ne pas changer la situation. Le compilateur se plaint toujours sur 64 bits mode pas compilé dans:

$ g++ -v à l'Aide intégrée dans les specs. COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper
Cible: i686-pc-linux-gnu Configuré avec: ./configurer
--enable-multiarch-avec-cloog=/usr/local/--with-mpfr=/usr/local/--with-ppl=/usr/local/--verbose --enable-languages=c,c++ --enable-multilib --enable-cibles=i686-pc-linux-gnu,x86_64-pc-linux-gnu modèle de Thread: posix gcc version 4.7.0 20120113 (expérimental) (GCC)

$ g++ -m64 c.cpp c.cpp:1:0: désolé, pas implémentée: 64-bit de mode pas
compilé dans

  • --enable-multiarch suggère Debian (ou dérivés), et que je me souvienne, la FSF GCC ne fonctionne pas vraiment bien avec Debian multiarch systèmes. Vous devrez peut-être appliquer de Debian patchs à la FSF GCC instantanés.
  • Bien sûr, il ne fonctionnera pas comme ça. Multilib a des raisons de compatibilité ascendante, et pas avant. Pour compiler en 64 bits de code sur la machine 32 bits, vous avez à construire minimum SDK: binutils + libc [musl, uclibc, glibc, ...] + de gcc.
InformationsquelleAutor Martin | 2012-01-14