GCC:抱歉,未实现:64位模式未在中编译



我在x86 32位linux系统上构建了GCC 4.7。当我尝试使用-m64标志进行交叉编译时,我得到以下结果:

抱歉,未实现:中未编译64位模式

而我的Linux发行版默认提供的编译器可以与-m64交叉编译。

我必须传递给什么/配置为启用GCC中的64位模式?这些是我用来构建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 targets=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配置为:/配置--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线程模型:posix gcc版本4.7.0 20120113(实验性)(gcc)

$g++-m64 c.cpp c.cpp:1:0:抱歉,未实现:64位模式未实现在中编译

这通常意味着您使用了错误的(旧的)编译器。

新编译器同时支持-m32和-m64。您必须将PATH设置为新编译器(在Rtools的gcc,MinGW子目录中),然后Rtools中的任何旧编译器。

尝试将编译器的二进制库路径更新为64位版本。其他资源(如lib文件夹)也应该相应地进行更改。

您将需要使用配置binutils和gcc

--enable-multilib

可能还有:

--enable-targets=i686-pc-linux-gnu,x86_64-pc-linux-gnu

以支持多分支(-m64和/或-m32选项)。您还需要像glibc这样的两个版本的东西才能链接并运行生成的二进制文件。

刚刚解决了这个问题。在环境变量中,删除任何过时的c++包的条目。

就我而言,我在64位Windows上的Anaconda中工作。在anaconda中,我执行了"conda-install-mingw-libpython"。Mingw适用于c++编译器。但我早些时候安装了cygwin的用于c++编译的mingw,它还没有更新。这就是冲突的原因。我通过简单地删除与这些c++包相对应的环境变量(PATH)来解决这个问题
我尝试过几乎所有的论坛,这个解决方案是有效的。

如果有人需要帮助,请告诉我。:)

我在windows上遇到了同样的问题。尽管安装了代码块20.03,但我无法编译64位代码。我通过将编译器设置为x86_64-w64-mingw32-g++.exe而不是g++.exe来解决这个问题。它在bin目录中是g++.exe。在窗口中,转到"设置"菜单,然后:设置->编译器。。。选择";工具链可执行文件";标签和从那里是显而易见的。

也有同样的问题。我的解决方案:

更新所有内容(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*

最新更新