c++ - 在 Windows 上玩 GCC 4.6

标签 c++ gcc g++ mingw

我很高兴发现 GCC 4.6 支持 range-based for loop .我在 xvidvideo.ru 上找到了 MinGW 4.6 的实验版本。 ,那是一个知名的、可靠的网站吗?我还有哪些其他选择(除了从源代码编译自己)?

最佳答案

我想在 Windows 7 下使用最新的 Code::Blocks 试用 GCC 4.7。

这是我为自己做的,YMMV:

  1. 我在以下位置下载了最新的 Equation GCC 文件: ftp://ftp.equation.com/gcc/并将其安装在我本地计算机上的目录 C:\gcc\ 下。安装程序对路径环境变量进行必要的更改。注销并重新启动它们。

  2. 我下载了 Code::Blocks 最新的夜间版本:http://forums.codeblocks.org/index.php?board=20.0 并按照设置说明进行操作。

  3. 按照设置说明(包括所需的DLL文件),并首次启动C::B;

    我为“编译器自动检测”窗口选择了“GNU GCC 编译器”和“设置为默认值”。

    在“设置 > 编译器... > 编译器设置”选项卡下: 我勾选了“让 g++ 遵循即将到来的 C++0x ISO C++ 语言标准 [-std=c++0x]”复选框。

    在“设置 > 编译器... > 工具链可执行文件”选项卡下: 我将“编译器的安装目录”输入字段更改为 C:\gcc\bin\

  4. 我更改了物理上位于 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 计算!

巴德·阿尔弗森 (对不起这篇文章的基本性质):)

关于c++ - 在 Windows 上玩 GCC 4.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119911/

相关文章:

c++ - 解决问题 # C++98 在使用 Boost 库 1.53 或 1.56 的代码中有效使用 “for_each”

c++ - 顶点开关 DX

c++ - "Recompile with -fPIC"- 但使用 -fPIC 重新编译无法修复

c++ - 等待输入 C++

c++ - `using namespace foo;` 没用吗?

c++ - GCC 和 -W 转换

c++ - 如何在二进制文件中设置内置版本号?

c - gcc 在 Cygwin 中失败并显示 "undefined reference",但引用存在于链接库中

c++ - 循环写入优化

linux - 制作-j 8 g++ : internal compiler error: Killed (program cc1plus)