如何在 32 位操作系统中使用 g++ 进行编译

时间:2021-04-26 11:55:46

标签: c++ mingw mingw-w64 mingw32

我是 c++ 新手,我在 windows 7 32 位操作系统中使用 g++ 10.2.0。我从 http://winlibs.com/ 获得了这个 g++,我下载了它并将它添加到我的 Codeblocks IDE。该网站说我必须将 i686-w64-mingw32-g++.exe 放入编译器中,因为我使用的是 32 位操作系统。这意味着它是 32 位操作系统的编译器。但是当我想使用 windows command prompt 编译并且当我使用 g++ -o prog1 prog1.cc 编译目录中名为 prog1 的文件时,它会编译该文件。所以,我的问题是,我不应该把 i686-w64-mingw32-g++.exe 因为它是我的 32 位编译器吗?为什么 g++ -o prog1 prog1.cc 在我的软件中工作?

1 个答案:

答案 0 :(得分:0)

如果您从 http://winlibs.com/ 下载了 32 位 MinGW-w64 GCC,那么 i686-w64-mingw32-g++.exeg++.exe 是一回事。 GCC 有一个约定,其中目标编译器的全名是 TARGET+-g++.exe,因此不同目标的编译器可以共存。但这里的原生平台是目标,所以 g++.exei686-w64-mingw32-g++.exe 是相同的编译器。

所以运行 i686-w64-mingw32-g++.exe -o prog1 prog1.cc 会给你同样的结果。

确保在 Code::Blocks 中也将“编译器的安装目录”设置为包含 i686-w64-mingw32-g++.exe 的文件夹,否则 Code::Blocks 将不知道在哪里找到该文件。