其实之前我用的C/C++IDE是Dev C++(此前一直以为IDE和编译器如gcc,和g++是一个东西,很久很以前,自己曾经还是明白这其中的弯弯绕的,时间太长给忘了),之后在网上发现比较精妙的C程序后,想调试一下,结果发现调试不了。
当时以为是Dev的问题,就去下载codeblock,结果发现也是能编译运行不能调试,有以下错误
1 | gcc: Internal error: Aborted (program collect2) |
那时已经有点明白是编译器出了问题,可是不知道如何解决,只能去网上Google,在网上codeblock的论坛上扒了好久,终于发现有个和我遇到同样问题的人,可是管理却说这不是codeblock论坛的负责范畴(可能是因为太简单,不屑于解答吧),并亮出了一份发帖规范(汗),惹不起惹不起。
我把Dev C++和codeblock卸载重装了无数遍,同时接着在网上扒拉,发现每次安装codeblock时他都会自动寻找本机所安装的其他编译器(Dev 中有一个,还有个在C盘根目录下),之后倒是不报编译器error了,因为他已经没有编译器了。。
后来明白codeblock有的版本自带编译器(其安装目录有MinGW文件夹,可去此网站下载),有的不自带编译器,若自带编译器的话还是提示找不到编译器,可按以下步骤:
- 点开Settings下的Compiler
- 找到Toolchain executables选项卡,设置Compiler’s installation directory为你的codeblock的MinGW文件夹
- 记得把下面的编译器路径也改改
- 点击保存,重启codeblock,更改就会生效了
可是安装完之后,发现依然无法调试是下面这个错误
1 | ERROR: You need to specify a debugger program in the debuggers's settings. |
呵,瞧我这暴脾气,又去google了一下
- 这时需要打开Settings里的Debugger
- 需要把下面这个路径设置为你的MinGW下的gdb.exe所在路径(若是没有,可去此网站 下载一个)
- 有些编译环境的中文不能编译,需要新建项目才能编译哦
再次调试终于没有问题了,真心累呀(codeblock调试方法见下篇)