2

我正在尝试编译我的 C++ 程序,但是当我按下“构建”按钮时,它会显示以下错误消息:

c:/gnat/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 有任何关系

4

5 回答 5

2

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

于 2011-01-10T16:19:07.543 回答
0

编辑:与collect2.exe 无关。

您是否收到任何其他错误文本,例如“权限被拒绝错误”等。

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

于 2011-01-10T16:17:31.783 回答
0

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

于 2017-05-30T21:07:46.630 回答
0

在 Visual Studio Code 中,转到设置 -> 在搜索栏中搜索“清除上一个”,然后选中名为“清除上一个输出”的框。:)

这是因为您之前的输出已经在后台运行。VS Code 提供了一个功能,可以在每次运行时关闭它。

于 2020-11-19T04:06:53.973 回答
0

我有同样的问题,担心了几个小时。我禁用了我的平均防病毒软件,它起作用了。

于 2020-12-19T21:25:55.777 回答