“无法打开a.exe的”错误在C++

问题描述:

我试图编译我的C++程序,但是当我按下“生成”按钮,它会显示以下错误消息:“无法打开a.exe的”错误在C++

C:/蚊蚋/2010/bin/../libexec/gcc/i686-pc-mingw32/4.3.6/ld.exe: 无法打开输出文件A.EXE:无效 参数collect2:LD返回1退出 状态

这不是第一次做到这一点。当我一直在编辑同一个项目并且经常编译它时,似乎这样做的最多,就好像某些东西已经被淹没或者过载了,或者什么东西。

我以前通过重新启动我的电脑修复了它,但每次发生这种情况时我都无法继续重新启动我的电脑。

我以为这只是一次性问题,但它一直在发生,所以我想我会寻找更多的帮助。

我发现了另一个SO question,我认为它与我的错误信息/问题相同。但是,当我尝试上述链接问题中列出的解决方案时,没有任何帮助。

有没有其他人有这个问题?或者有谁知道我可以如何解决这个问题(除了每次重新启动我的电脑)?

我正在jGrasp中开发,如果有帮助的话。

编辑:我只是想补充一点,我认为这可能是我以前的可执行文件仍在后台运行,但即使关闭了我的IDE,它仍然不会让我删除可执行文件,因为它说它仍在运行。

我检查了我的进程资源管理器,查看是否A.EXE仍在运行,但绝对没有在我的流程,与jGrasp做或A.EXE

+0

我一直有类似的东西*不断*因为使用Windows 7,搜查了很多,从未找到最终解决方案。唯一有用的是等待几分钟,然后文件可以被删除/覆盖/ ...奇怪的是,即使使用handle.exe等,文件也没有列出。 – stijn 2011-01-10 16:42:11

+0

@stijn,是的,这真的很令人沮丧。虽然我一直在等待一个多小时,但它仍然不允许我删除a.exe或覆盖它。真的加重了。我不知道它是否与Windows 7有关... – AmbiguousX 2011-01-10 16:44:32

+0

嗯也许这是一个不同于我的问题:我不得不等待一个小时。我观察到的通常是在简单地在资源管理器中选择一个可执行文件,或者运行它之后,有些东西会使文件只读。例如,我也有批处理文件:有时运行批处理文件后,我无法编辑并保存几分钟。不会发生不可执行文件。 – stijn 2011-01-10 17:05:45

编辑:这是无关与collect2.exe。

你得到任何其他错误文本,例如像“权限被拒绝的错误”等

http://max.berger.name/howto/cdt/ar01s05.jsp

我猜你的可执行程序仍在运行。这是我考虑的唯一原因......我想最好是检查你的任务管理器(进程资源管理器是你的朋友;))。

这是因为.exe仍在运行。如果你在Windows上使用命令行del -f a.exe,如果你在linux上使用rm -rf ./a.out