GCC: извините, не реализовано: 64-битный режим не скомпилирован в

Я построил 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

do ситуацию не изменить. Компилятор по-прежнему жалуется на то, что 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 / --verbose --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-битный режим нет скомпилировано в

28
задан Spyros K 10 November 2018 в 11:18
поделиться

2 ответа

Обычно это означает, что вы используете неправильный (старый) компилятор.

Новые компиляторы поддерживают как -m32, так и -m64. Вы должны установить PATH для новых компиляторов (в gcc, подкаталоге MinGW Rtools) до любых старых компиляторов в Rtools.

Попробуйте обновить бинарный путь к вашему компилятору до 64-битной версии. Другие ресурсы, такие как папки lib, также должны измениться.

21
ответ дан 28 November 2019 в 03:43
поделиться
1113 У меня были те же проблемы. Мое решение:

Обновите все (пакеты R, Rstudio, R) и закройте Rstudio.
Удалите Rtools и установите последнюю версию.
Добавьте только 2 записи в поле Переменные среды / Системные переменные / Путь:
- C: \ Rtools \ bin
- C: \ Rtools \ mingw_64 \ bin (! Не 32-битная версия)
Записи пути должны быть в этом порядке и выше% SystemRoot \ System32
Я НЕ установил в строго рекомендуемое расположение по умолчанию на C:

После которые открывают Rstudio и переустанавливают Rcpp через консоль:
install.packages ("Rcpp")

Проверьте, работает ли он с:
Rcpp :: evalCpp ("2 +2 ")

После этого просто переключитесь на терминал в Rstudio, перейдите в исходную папку cmdstan и введите« make build ».
--- CmdStan v2.19.1 встроенный ---
Готово!

Подробности:

*> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17763)
Matrix products: default
locale:
[1] LC_COLLATE=Slovenian_Slovenia.1250  LC_CTYPE=Slovenian_Slovenia.1250    LC_MONETARY=Slovenian_Slovenia.1250 LC_NUMERIC=C                       
[5] LC_TIME=Slovenian_Slovenia.1250    
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
loaded via a namespace (and not attached):
[1] compiler_3.6.0 tools_3.6.0*
-1
ответ дан 28 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: