GNU GCC编译器更新

4

我正在使用带有GNU GCC编译器的代码块。但是,当我尝试编译范围基础for语句时,它会产生许多错误。因此,我认为编译器不支持C++0x。所以我想知道我使用的编译器版本以及如何正确更新到支持C++0x的版本。我正在使用Windows XP。


1
请提供错误信息和一个(尽可能小的,最好是自包含的)代码示例。运行 gcc --version 查看版本信息。 - Jens
代码 `#include <iostream> using namespace std;int main() { int x[20]; for(int &i:x){ i=0; } }`错误 在函数 'int main()':| 错误: 预期初始化项前出现 ':' 标记| 错误: 在'}' 标记之前预期主要表达式| 错误: 在'}' 标记之前预期 ';'| 错误: 在'}' 标记之前预期主要表达式| 错误: 在'}' 标记之前预期 ')'| 错误: 在'}' 标记之前预期主要表达式| 错误: 在'}' 标记之前预期 ';'| 警告: 未使用变量 'x'| ||=== Build finished: 7 errors, 1 warnings ===| - lakshitha
当我在命令提示符中输入命令 gcc --version 时,它显示“gcc”不是内部或外部命令。@Jens - lakshitha
1
这实际上是一个Code::Blocks问题,与C++或gcc无关。话虽如此:请参阅http://superuser.com/questions/206157/checking-version-of-gcc-compiler-in-codeblocks - Bakkot
@lakshitha,您可以编辑您的问题,包括代码和错误,以使其更易读。 - David Brown
在计算机中必须有类似于C:\Program Files\CodeBlocks的东西,其中包含mingw分发,其\bin目录中必须驻留gcc.exe二进制文件。在cmd.exe中cd到该目录并运行gcc --version。如果版本比4.5新,请使用带有选项-std=c++0xg++(像这样:g++ file.cpp -o file.exe -std=c++0x)。 - Dmytro Sirenko
1个回答

0

这个算法可能有助于在Windows上开始使用C++11编程:

  • 1)访问http://mingw.com并下载最新的MinGW发行版,然后安装它

    2)下载CodeBlocks安装程序并安装。在安装过程中,它应该检测到GCC安装并建议将其用作默认编译器,请接受此建议。

    3)启动一个新的CodeBlocks项目,转到“项目” ->“属性” ->“构建选项” ->“编译器设置” ->“编译器标志”,然后设置标志“Have g++ follow the coming C++0x ISO C++ language standard”

    4)编译您的第一个C++11项目并享受乐趣!

顺便说一下,截至目前,最新的MinGW g++版本为4.6.1,因此它必须支持大多数C++11功能。


谢谢EarlGray...这个答案完全满足了我的需求。非常好的答案..非常感谢。我先做了前两步,但没有做第三步。然后出现了编译器错误error: range-based 'for' loops are not allowed in C++98 mode,然后我也做了第三步,现在一切都正确了。再次感谢。 - lakshitha
1
这是带有GCC 4.7.2的最新boost等内容的MinGW“发行版”。安装非常简单,我的使用体验非常完美。 http://nuwen.net/mingw.html - pidabrow
@piotr_dabrowski 很好,很高兴听到GCC 4.7.2已经可用。 - Dmytro Sirenko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接