最近学生在用C-FREE5 时候,运行时,会报错,报错的文件是Id.exe。当时觉得很是诧异,不知道这个exe从何而来。
后来是让他们把程序重启,之后运行就可以的,但是在一些数值计算时,输出结果很是奇怪,即使是最简单的加法,得数也是一长串数字。
这些估计都是Id.exe报错引起的。查找之后,get一篇比较详细的文章说明,不过还没有实践,先贴过来MARK下。
文章来源:http://blog.csdn.net/metalseed/article/details/38711425
状况1:正常运行程序时偶尔会冒出ld.exe,如图:
此处强调的出现频率是 偶尔 ,素以具体报什么错已经记不清了,但是解决方法是这样的,ctrl+alt+delete,蓝后点任务管理器,
蓝后在进程里面寻找当前要运行的exe文件名
如上图我是要运行 未命名2.cpp 链接后的 未命名2.exe, 如果在进程中找到他,说明上次运行没有正常结束,杀死他就可以重新运行了 T_T
状况2:
安装MinGW后,每次运行都出现ld.exe,可以很明确的是语法没有问题,因为HelloWord.cpp她都不认····
状况图如下:
报错内容如下:
诸如此类,
[Error] F:\IDE\C-FREE~1\mingw\bin\ld.exe: Dwarf Error: found dwarf version '4', this reader only handles version 2 and 3 information.
原因后面说,怕耽搁大家时间直接提供方法:
1. 直接删除cfree目录下的mingw文件夹,就可以用了
(如果还有问题,可以这样操作: 进入cfree ,点菜单里的构建,选择构建选项,然后选择路径选项卡,最后点自动检测,如下图:
)
确定之后就cfree又可以正常工作了。
我个人认为这个办法是最简单可靠的,其他办法是更改其他MinGW(非cfree目录下的)名字,但可能会影响其他链接此路径的IDE。
目前观察的 出现此类问题的原因在下面,闲着没事的大家可以看看,如果有不对的地方还请不吝赐教 ^_^
非常拙计,原因是 c-free安装时会在目录下自动安装一个MinGW,事后你又安装了一个MinGW,cfree运行时会自动检测MinGW,然后他发现了两个能冲突的,
次次如此,所以每次都会无法运行,出现ld.exe
网上有很多方案,有让下载一个ld.exe替换cfree目录下的,有让卸载cfree重新安装的,有让卸载MinGW的,结果统统不奏效,
因为 根本问题是有两个MinGW,你替换ld.exe没意义,卸载cfree重装还是会装两个,卸载MinGW也不行是因为MinGW默认卸载时他会残留MinGW的目录。。检测还是会出现两个。。