2013-07-17 38 views
0

我們正在部署一個使用VS2010構建的Qt5.0.2應用程序,該應用程序在bin目錄中包含platforms/qwindows.dll文件。我們剛剛從Qt5.0.1升級到Qt5.0.2,發現在非開發機器上我們的應用程序在加載後立即崩潰。我們將問題縮小到qwindows.dll文件。當我們使用Qt5.0.2中的qwindows.dll版本(文件大小803kb)時,應用程序崩潰。當我們離開所有其他包含的dll相同,但只用5.0.1版本(799kb)替換qwindows.dll時,一切正常。這是一個已知的錯誤?我們需要包含5.0.2版本dll的其他工作嗎?爲什麼Qt5.0.2中的qwindows.dll導致我的應用程序崩潰

+0

試過一個調試器? –

+0

是的。在調試時,一旦我創建了一個QApplication的實例,我就'無法加載平臺插件「窗口:可用的平臺是:windows'。然後應用程序退出代碼1. – Joey

+1

檢查與依賴walker如果qwindows.dll需要更多的DLL不在那裏。 –

回答

0

回答我的問題...

我們有自動複製相關的預建QT dll文件到我們的應用程序的安裝目錄從最新下載的QT包的vs2010目錄的子目錄批處理腳本。看來在Qt5.0.1中,Qt dll出現在msvc2010libbin子目錄中,而在Qt5.0.2中,Qt dll只出現在bin子目錄中。由於我們自動從lib子目錄中複製dll,所以當我們遷移到5.0.2時,沒有任何東西被複制,並且舊的5.0.1 dll保留在我們應用程序的安裝目錄中。然而,qwindows.dll文件仍然位於msvc2010\plugins\platforms中,因此它確實得到更新,並且與舊的5.0.1 dll不兼容。

我不認爲我們對下載的Qt安裝有什麼好笑的,但是我肯定會感激如果其他同時下載5.0.1和5.0.2的用戶可以獨立驗證5.0.1版本中有dll msvc2010\lib directory和5.0.2沒有。

相關問題