2013-01-24 98 views
3

啓動MinGW編譯的可執行文件時收到錯誤消息。我正在使用Windows 7機器。啓動MinGW編譯的exe時出錯libgcc_s_dw2-1.dll錯誤

我在我的Windows路徑環境變量(檢查和重新檢查)中有MinGW bin目錄,並說該DLL確實存在於該文件夾中。

我知道我可以將DLL移動到exe目錄,但應用程序不需要分發到任何沒有MinGW安裝且環境變量設置正確的地方(我們工作機器上的標準環境) 。許多同事使用相同的可執行文件而沒有問題。我所知道的唯一區別是大多數(可能全部)同事在Windows XP上工作,在Windows 7上工作。

此外,我無法訪問構建服務器以將編譯器標誌更改爲靜態鏈接庫。

因此,儘管我提到了解決方法,但我想深入瞭解爲什麼它不適用於當前設置。

任何幫助,將不勝感激!

乾杯。

+0

在depends.exe中打開可執行文件是否提供了其他信息?例如,並排配置問題或類似的問題。 –

+0

通過depends.exe你的意思是我目前無法打開的可執行文件,因爲依賴關係? – burn5

+0

depends.exe是Microsoft工具「Dependency Walker」。它列出了所有缺少的dll依賴關係。 –

回答

1

你使用的是什麼版本的mingw? 4.4.0?

下載包gcc-core-4.4.0-mingw32-dll.tar.gzhere
將需要的dll從bin文件夾複製到您的mingw bin文件夾中。

+0

感謝您的回覆。我不確定你是否在我的第一篇文章中錯過了它,當我說我的MinGW/bin目錄中已經有了所需的DLL或者你是否有其他的東西。所以我繼續前進 - 在對現有dll進行備份後(還有另外一個exe取決於我忘記在我的OP中提及) - 替換了我從MinGW sourceforge站點下載的那些(對於GCC 4.5.0 ),它有效,這有點奇怪。任何想法,爲什麼Windows現在可以找到DLL後簡單地替換他們與我下載的?對我沒有意義。 – burn5

+0

嗯,事情有點混亂。我現在可以啓動可執行文件,並且可以在MinGW目錄中成功找到DLL。但是,我們公司有一個用於自動化測試的框架。當這個框架被用來啓動可執行文件時,它會失敗並再次丟失DLL錯誤。很明顯,我不希望任何人能夠評論框架爲什麼會有問題,但這只是我想補充的一些額外信息。 – burn5

+0

你是否也將dll複製到你的框架的'path'?您也可以將其放入與主要可執行文件相同的目錄中。 – ollo