【发布时间】:2010-11-07 21:56:22
【问题描述】:
我很高兴发现 GCC 4.6 支持range-based for loop。我在 xvidvideo.ru 上找到了 MinGW 4.6 的实验版本,这是一个知名的可靠网站吗?我还有哪些其他选择(除了从源代码编译自己)?
【问题讨论】:
我很高兴发现 GCC 4.6 支持range-based for loop。我在 xvidvideo.ru 上找到了 MinGW 4.6 的实验版本,这是一个知名的可靠网站吗?我还有哪些其他选择(除了从源代码编译自己)?
【问题讨论】:
我想在 Windows 7 下使用最新的Code::Blocks 试用 GCC 4.7。
这是我为自己做的,YMMV:
我在以下位置下载了最新的 Equation GCC 文件:
ftp://ftp.equation.com/gcc/ 并将其安装在我本地计算机上的目录 C:\gcc\ 下。安装程序对路径环境变量进行必要的更改。注销并重新启动它们。
我下载了Code::Blocks 最新的夜间版本:http://forums.codeblocks.org/index.php?board=20.0
并按照设置说明进行操作。
按照设置说明(包括所需的DLL文件),并首次启动C::B;
我为“编译器自动检测”窗口选择了“GNU GCC 编译器”和“设置为默认值”。
在“设置 > 编译器... > 编译器设置”选项卡下: 我勾选了“让 g++ 遵循即将到来的 C++0x ISO C++ 语言标准 [-std=c++0x]”复选框。
在“设置 > 编译器... > 工具链可执行文件”选项卡下:
我将“编译器的安装目录”输入字段更改为C:\gcc\bin\。
我更改了物理上位于C:\gcc\bin\ 目录中的这些文件的名称
i686-pc-mingw32-gcc.exe -=to=- mingw32-gcc.exe
i686-pc-mingw32-g++.exe -=to=- mingw32-g++.exe
make.exe -=to=- mingw32-make.exe
以匹配Code::Blocks 中列出的名称要求。您可以简单地浏览以设置正确的文件(我个人更喜欢重命名以匹配 C::B 的条目)。
如果一切正常,你应该可以创建这个程序了:
#include <iostream>
#include <vector>
int main() {
using namespace std;
vector<int> my_vec = { 1, 2, 3, 4, 5 };
for (auto x : my_vec) {
cout << x << endl;
}
}
并在 Code::Blocks 下按 F9 运行它。
感谢大家为将这种伟大的新语言带给我们所做的所有出色工作。快乐的 C++0x 计算!
巴德·阿尔弗森
(对不起这篇文章的基本性质):)
【讨论】:
我不太熟悉您链接的网站,因为它是俄语的。我发现提供 GCC 构建的当前快照的唯一其他地方来自 Equation Solution。我从那里下载了 gcc4.5.1,它对我来说效果很好。不过,我还没有尝试过 4.6.x 版本。有传言说 gcc 4.6.x 比它的前辈慢。
如果您决定进行实验,请务必报告您看到的结果类型。我很好奇他们在 4.6.x 系列中做了哪些改进。
【讨论】:
;)