codeblocks编译出错问题的解答!(编译c++ 或者c程序)

典型错误:

execution of 'mingw32-g++.exe ……faile!

codeblocks cannot exec `cc1plus': No such file or directory

出现这样的错误,都是因为编译器没安装成功,或者没有设置好!


从设置过程就可以知道有没有安装g++编译器

设置方法:Settings——Compiler…

一般默认compiler是GNU GCC Compiler


点进Toolchain executables,下面三项中,最好点进去重新选择一遍! 


如果没有安装mingw(gcc、g++)编译器,选进去的时候就找不到mingw32-g++.exe。

如此就说明没有安装mingw,可以单独下载mingw(http://download.csdn.net/detail/jingmiaa/9588535),安装,然后重新设置,在mingw安装目录下可以找到mingw32-g++.exe。

(c++代码,编译器就是以下默认的三个,有些用的gcc而不是g++,编译纯C++就不通过。)

(纯c代码,以下三项全部选:mingw32-gcc.exe。)



可以参考以下网友的问题与答案:

问题:

C Hello world: Code Blocks IDE, MinGW C compiler on windows

I can't get Code Blocks IDE to compile the hello world C program it creates when you create a new C project. I've installed MinGW and it was recognised by the IDE. But when I try to build I get the following output:

-------------- 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.

Why is it trying to run mingw32-g++.exe as well as mingw32-gcc.exe? (And if it shouldn't be doing this, how can I configure it not to?)


答案:

The mingw32-gcc.exe step is the compile step. The mingw32-g++.exe is the link step. This is the correct sequence and will work if your mingw32 installation is "normal" and correct - where "normal" means you have installed the C++ as well as the C tools.

The link step is failing for you because mingw32-g++.exe cannot be executed, most likely because it does not exist on your PATH. Try running mingw32-g++.exe at the command prompt to check. Look in the directory where mingw32-gcc.exe resides to see if mingw32-g++.exe is also there.

If your mingw32 installation has got broken somehow I suggest you uninstall and reinstall.

If you have intentionally installed only the C tools then that will explain what you are seeing, and it is easily fixed:

Both mingw32-gcc.exe and mingw32-g++.exe are just tool driver programs. When invoked with compilation options for .c files, mingw32-gcc.exe invokes the C compiler. When invoked with compilation options for .cpp|cxx|... files, mingw32-g++.exe invokes the C++ compiler. If either of them is invoked with linkage options then it invokes the linker.

Codeblocks by default configures mingw32-g++.exe to invoke the linker because it will do equally well for C projects, C++ projects and C/C++ projects, and it assumes you have the full C/C++ toolchain.

If you have not installed C++ tools and only want to build C, then you can use mingw32-gcc.exe to invoke both the C compiler and the linker. To configure this in the CodeBlocks IDE:

  • Navigate Settings -> Compiler
  • Ensure that the Selected Compiler is GNU GCC
  • Tab to Toolchain executables
  • Change Linker for dynamic libs from mingw32-g++.exe to mingw32-gcc.exe
  • OK out of Settings and rebuild your project.

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值