C Hello world:Windows上的代码块IDE,MinGW C编译器

CL2*_*L22 2 c windows gcc mingw codeblocks

我无法使用Code Blocks IDE来编译它在创建新C项目时创建的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.
Run Code Online (Sandbox Code Playgroud)

为什么它试图跑得mingw32-g++.exe那么好mingw32-gcc.exe?(如果它不应该这样做,我怎么能配置它不?)

Mik*_*han 16

mingw32-gcc.exe步骤是编译步骤.这mingw32-g++.exe是链接步骤.这是正确的顺序,如果你的mingw32安装是"正常"和正确的,它将起作用- 其中"normal"意味着你已经安装了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++编译器.如果使用链接选项调用其中任何一个,则它将调用链接器.

默认情况下,Codeblocks配置mingw32-g++.exe为调用链接器,因为它对C项目,C++项目和C/C++项目同样有效,并假设您拥有完整的C/C++工具链.

如果您尚未安装C++工具并且只想构建C,那么您可以使用它mingw32-gcc.exe 来调用C编译器和链接器.要在CodeBlocks IDE中进行配置:

  • 导航设置 - > 编译器
  • 确保Selected CompilerGNU GCC
  • Tab键到工具链可执行文件
  • 更改链接的动态库mingw32-g++.exemingw32-gcc.exe
  • 单击" 设置"并重建项目.