Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
My MinGW builds 32位安装无法识别-std=c++11_C++_Windows_C++11_Mingw - Fatal编程技术网

My MinGW builds 32位安装无法识别-std=c++11

My MinGW builds 32位安装无法识别-std=c++11,c++,windows,c++11,mingw,C++,Windows,C++11,Mingw,我正在64位Windows7系统上使用Eclipse开普勒。我尝试了MinGW builds 32位安装的较旧版本和最新版本,两个版本在任何方面都无法正常运行,更具体地说,我甚至无法识别任何c++11标志。我已多次尝试重新安装,但均无效。另一方面,我可以始终如一地让64位安装完美运行。问题是,我想使用一些32位库。32位安装是否需要一些我不知道的额外步骤?谢谢 注意:我已经尝试了一些相关线程上的所有建议,尽管它涉及不同的发行版,但它们不起作用 编辑: g++-版本输出: g++ (rev5, B

我正在64位Windows7系统上使用Eclipse开普勒。我尝试了MinGW builds 32位安装的较旧版本和最新版本,两个版本在任何方面都无法正常运行,更具体地说,我甚至无法识别任何c++11标志。我已多次尝试重新安装,但均无效。另一方面,我可以始终如一地让64位安装完美运行。问题是,我想使用一些32位库。32位安装是否需要一些我不知道的额外步骤?谢谢

注意:我已经尝试了一些相关线程上的所有建议,尽管它涉及不同的发行版,但它们不起作用

编辑:

g++-版本输出:

g++ (rev5, Built by MinGW-W64 project) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
Eclipse错误:

20:20:45 **** Rebuild of configuration Debug for project workerbees ****
Info: Internal Builder is used for build
g++ "-ID:\\blaise\\Dev\\libtcod-1.5.1\\include" -O3 -Wall -c -fmessage-length=0 -std=c++11 -o "src\\workerbees.o" "..\\src\\workerbees.cpp" 
cc1plus.exe: error: unrecognized command line option '-std=c++11'

20:20:45 Build Finished (took 143ms)

由于MinGW不支持posixapi,它必须在libstdc++中禁用与C++11线程相关的功能,因为缺少POSIX线程支持

然而,MinGW-W64提供了针对32位Windows的工具链和更好的POSIX线程支持。按照以下步骤安装支持C++11的MinGW-W64:

从下载MinGW-W64并将其解压缩到一些方便的位置,如C:\MinGW64: 确保下载适当的软件包,如中所示 针对Win32/Personal Builds/XXX/threads posix/sjlj/的文件/工具链

从下载MinGW-W64的MSYS二进制文件,在C:\MinGW64\MSYS下提取\

通过运行c:\MinGW64\MSYS\1.0\MSYS.bat并键入以下内容,将MSYS配置为使用MinGW:

    sh /postinstall/pi.sh
如步骤1所示指定MinGW安装位置,您就可以开始了


版本4.8.1当然支持-std=c++11。通过使用4.8.1版编译一个简单的程序,您将能够亲自看到这一点。因此,唯一合理的结论是,不识别-std=c++11的编译器是旧版本。

什么版本?请与g++-vPost检查错误消息。抱歉,版本和确切的错误消息已更新。您确定Eclipse正在接收与您执行g++-version命令时使用的相同的g++吗?可能会在Eclipse项目设置中加入-version或-v选项。带有gcc 4.8.1的MinGW版本是否会因为库支持问题而完全禁用c++11支持?不,c++11支持不会完全禁用。仅禁用与线程相关的功能。