2011-01-10 97 views
2

我試圖編譯我的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

回答

1

我猜你的可執行程序仍在運行。這是我考慮的唯一原因......我想最好是檢查你的任務管理器(進程資源管理器是你的朋友;))。

0

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