2013-08-21 81 views
8

我一直在google搜索解決這個問題,但我發現很多人分享我的問題,沒有一個他們的解決方案爲我工作。部署Qt的C++應用程序從Visual Studio qwindows.dll錯誤

我使用Visual Studio 2010編寫了一個使用Qt框架的C++應用程序。我從Visual Studio構建並運行「釋放」模式的應用程序而沒有問題,但是當我將該文件夾從Release文件夾複製到新的目的地時它的新PC)它無法運行提供此錯誤:

--------------------------- 
TestApplication 
--------------------------- 
This application failed to start because it could not find or load the Qt platform plugin "windows". 

Available platform plugins are: windows. 

Reinstalling the application may fix this problem. 

內可執行文件的目錄,我有以下文件結構:
./TestApplication.exe
./libGLESv2.dll
./Qt5Core .dll
./Qt5Gui.dll
./QtWidgets.dll
./platforms/qwindows.dll
./qt.conf

所有的DLL文件從在庫所在的文件夾Qtbase的5.0.0編譯的Qt的拍攝。

的qt.conf文件是:

[Paths] 
Plugins=. 

沒有它,發佈錯誤是一樣的,除了它說:「最小」和「屏幕外」可用平臺以及。

對於所有其他人遇到這個錯誤似乎要通過創建platforms文件夾,並把在qwindows.dll來解決。但這樣做本身並不會改變任何行爲。

有什麼我做錯了?也許我首先生成.exe的方法是錯誤的?

+0

你是否按照[deployment](http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html)中的所有步驟操作? –

回答

9

如果使用libGLESv2.dll,那麼必須包含libEGL.dll了。 你不能在depends.exe中看到,不知道Qt開發者如何設法隱藏這個。 如果你的Qt開箱即用,那麼即使你不使用OpenGL,這兩個Dll也是必需的。另外,如果你的Qt是開箱即用的,你還需要包含三個包含Unicode處理信息的ic * .dll。

+0

添加該DLL修復了錯誤消息'此應用程序無法啓動,因爲它無法找到或加載Qt平臺插件「窗口」',我正在獲取。 – Phil

2

可以看到哪些DLL被通過查看其運行Qt Creator中調試(F5)當那些被調用需要。 = Carl

+0

有趣的是,我正在使用Visual Studio插件進行開發,但在下一次我遇到依賴關係問題時會查看此選項。 – Grambot

相關問題