当您创建新的 C 项目时,我无法让 Code Blocks IDE 编译它创建的 hello world C 程序。我已经安装了 MinGW 并且它被 IDE 识别。但是当我尝试构建时,我得到以下输出:

-------------- Build: Debug in TestC3 (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall -g  -c
C:\Users\jody\codeblocks\testc3\TestC3\main.c -o obj\Debug\main.o
mingw32-g++.exe  -o bin\Debug\TestC3.exe obj\Debug\main.o    Execution
of 'mingw32-g++.exe  -o bin\Debug\TestC3.exe obj\Debug\main.o' in
'C:\Users\jody\codeblocks\testc3\TestC3' failed.

为什么要同时运行 mingw32-g++.exemingw32-gcc.exe ? (如果它不应该这样做,我该如何配置它不这样做?)

最佳答案

mingw32-gcc.exe 步骤是编译步骤。 mingw32-g++.exe 是链接步骤。这
是正确的顺序,如果您的 mingw32 安装“正常”且正确,它将起作用 - 其中“正常”意味着
您已经安装了 C++ 和 C 工具。

链接步骤对您来说失败了,因为 mingw32-g++.exe 无法执行,很可能是因为
它在您的 PATH 上不存在。尝试在命令提示符下运行 mingw32-g++.exe 进行检查。
查看 mingw32-gcc.exe 所在的目录,看看 mingw32-g++.exe 是否也在那里。

如果您的 mingw32 安装以某种方式损坏,我建议您卸载并重新安装。

如果您有意只安装了 C 工具,那么这将解释您的身份
看到,它很容易修复:
mingw32-gcc.exemingw32-g++.exe 都只是工具驱动程序。调用时
通过 .c 文件的编译选项,mingw32-gcc.exe 调用 C 编译器。调用时
通过 .cpp|cxx|... 文件的编译选项,mingw32-g++.exe 调用 C++ 编译器。如果
使用链接选项调用它们中的任何一个,然后调用链接器。

默认情况下,代码块配置 mingw32-g++.exe 来调用链接器,因为它会做同样的事情
适用于 C 项目、C++ 项目和 C/C++ 项目,并且假设您拥有完整的 C/C++ 工具链。

如果你还没有安装C++工具,只想构建C,那么你可以使用mingw32-gcc.exe调用 C 编译器和链接器。要在 CodeBlocks IDE 中进行配置:

  • 导航 设置 -> 编译器
  • 确保 Selected Compiler GNU GCC
  • Tab 到 工具链可执行文件
  • 将动态库 的 链接器从 mingw32-g++.exe 更改为 mingw32-gcc.exe
  • OK 设置 并重建您的项目。
  • 关于C Hello world : Code Blocks IDE, Windows 上的 MinGW C 编译器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22222566/

    10-11 16:08