c++ - proyecto - GCC: perdón, no implementado: modo de 64 bits no compilado
el proyecto no esta compilado dev c++ (3)
He construido GCC 4.7 en mi sistema linux x86 de 32 bits. Cuando intento compilar de forma cruzada con el indicador -m64, obtengo
Lo sentimos, no implementado: modo de 64 bits no compilado en
mientras que el compilador proporcionado de forma predeterminada por mi distribución de Linux puede compilarse de forma cruzada con -m64.
¿Qué tengo que pasar a ./configure para habilitar el modo de 64 bits en GCC? Estas son las opciones que usé para construir 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)
EDITAR:
--enable-multilib y --enable-goals = i686-pc-linux-gnu, x86_64-pc-linux-gnu
No cambies la situación. El compilador todavía se queja sobre el modo de 65 bits no compilado en:
$ g ++ -v usando especificaciones incorporadas. COLLECT_GCC = g ++ COLLECT_LTO_WRAPPER = / usr / local / libexec / gcc / i686-pc-linux-gnu / 4.7.0 / lto-wrapper Objetivo: i686-pc-linux-gnu Configurado con: ./configure --enable-multiarch - -with-cloog = / usr / local / --with-mpfr = / usr / local / --with-ppl = / usr / local / --verbose --enable-languages = c, c ++ --enable-multilib - -enable-targets = i686-pc-linux-gnu, x86_64-pc-linux-gnu Modelo de hebra: posix gcc versión 4.7.0 20120113 (experimental) (GCC)
$ g ++ -m64 c.cpp c.cpp: 1: 0: perdón, no implementado: modo de 64 bits no compilado
Esto normalmente significa que estás usando el compilador incorrecto (antiguo).
Los nuevos compiladores soportan tanto -m32 como -m64. Debe establecer el PATH en los nuevos compiladores (en el gcc, subdirectorio MinGW de Rtools) antes de cualquier compilador antiguo en Rtools.
Intente actualizar la ruta de binario lib de su compilador a la versión de 64 bits. Otros recursos como las carpetas lib también deben cambiar en consecuencia.
Acabo de resolver este problema. En las variables de entorno, elimine las entradas de cualquier paquete de c ++ desactualizado.
En mi caso, trabajé en Anaconda en Windows de 64 bits. En anaconda, realicé ''conda install mingw libpython''. Mingw es para compilador de c ++. Pero anteriormente había instalado mingw de cygwin para compilaciones de c ++ que no se habían actualizado. Esta es la razón del conflicto. Resolví este problema simplemente eliminando la variable de entorno (PATH) correspondiente a estos paquetes de c ++.
He intentado casi todos los foros, esta solución funciona.
Por favor, hágamelo saber en caso de que alguien necesite ayuda. :)
Necesitará tanto binutils como gcc configurados con:
--enable-multilib
y probablemente:
--enable-targets=i686-pc-linux-gnu,x86_64-pc-linux-gnu
para soportar multilib (las -m64
y / o -m32
). También necesitarás dos versiones de cosas como glibc para poder vincular y ejecutar los binarios resultantes.