GCC:抱歉,未实现:64位模式未在中编译
GCC: sorry, unimplemented: 64-bit mode not compiled in
我在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*
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 在发布模式下启动使用库的静态链接编译的应用程序时出错
- 使用Qt Creator在调试模式下编译一段代码
- 在调试模式下编译时qrc_resource.cpp错误
- CMake:如何在Visual Studio环境中将依赖于模式的编译标志传递给nvcc
- 在Visual Studio 2017上无法使用调试模式x64进行OpenCV3.2编译
- 为什么这些 CRTP 模式中只有一个可以编译?
- Visual Studio 是否有具有多个下拉框的编译模式?
- C++文件可配置的编译时多态模式?
- X86系统的编译读取线(静态模式)
- 在 C++17 之前的模式下无法使用静态 constexpr 进行编译
- 痘痘设计模式会阻止您编译吗?
- lower_bound()函数不能在调试模式下编译
- 自定义分配器仅在VS 2015中的发布模式下编译
- 一般来说,使用Qt Creator,是什么导致程序在调试模式下编译时正确运行,但在发布模式下崩溃
- 为什么这个奇怪的重复出现的模板模式示例不编译?
- 无法在Win32发布模式下编译QT应用程序
- 生成文件中的多种编译模式
- 在Windows 10上使用wxWidgets(MinGW模式)编译源代码的问题
- 在VS2012的Release模式下编译时出现错误LNK2001