Я собрал GCC 4.7 на своей 32-битной системе Linux x86. Когда я пытаюсь выполнить кросс-компиляцию с флагом -m64, я получаю следующее:
извините, не реализовано: 64-битный режим не скомпилирован в
в то время как компилятор, предоставленный по умолчанию моим дистрибутивом Linux, может кросс-компилироваться с -m64.
Что мне нужно перейти на. /configure, чтобы включить 64-битный режим в GCC? Вот варианты, которые я использовал для сборки 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)
РЕДАКТИРОВАТЬ:
--enable-multilib и --enable-target = i686-pc-linux-gnu, x86_64-pc-linux-gnu
не меняйте ситуацию. Компилятор все еще жалуется на 64-битный режим, не скомпилированный в:
$ g++ -v Использование встроенных спецификаций. COLLECT_GCC = g++ COLLECT_LTO_WRAPPER =/usr/local/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper Цель: i686-pc-linux-gnu Настраивается с помощью:./configure --enable- multiarch --with-cloog =/usr/local / --with-mpfr =/usr/local / --with-ppl =/usr/local / - -v erbose --enable-languages = c, c++ --enable-multilib --enable-target = i686-pc-linux-gnu, x86_64-pc-linux-gnu Модель потока: posix gcc версия 4.7.0 20120113 (экспериментальная) (GCC)
$ g++ -m64 c.cpp c.cpp: 1: 0: извините, не реализовано: 64-битный режим не скомпилирован в