我正在學習如何使用Qt創建應用程序。我創建了一個在安裝了Qt的機器上運行良好的小應用程序。我想部署使用動態鏈接的Qt庫到Windows。我按照指示發現here和一些其他Stackoverflow文章的幫助下,我能夠讓應用程序運行沒有錯誤,但現在什麼都沒有出現。應該有一個帶有按鈕等的小型UI,但儘管Windows任務管理器顯示應用程序正在運行,但並未顯示它。Qt Windows部署過程
我的第一個想法是我錯過了一些dll文件,但即使我複製了C:\ Qt \ 5.5 \ msvc2013_64 \ bin中找到的每個dll,整個C:\ Qt \ 5.5 \ msvc2013_64 \ plugins目錄, msvcp120.dll,msvcr120.dll和plaforms \ qwindows.dll到應用程序目錄我仍然無法讓它顯示用戶界面。
相同的應用程序可以在任何安裝了Qt的Win x64機器上運行。我只是沒有發現要求用戶下載一套700mb的工具來運行一個9kb的應用程序,這是一個非常強大的解決方案。
我錯過了將Qt部署到Windows的步驟?
對於具體情況,我做了這個open source project.您可以看到bin/Win_x64目錄中構建的應用程序的發佈版本,其中包含所有運行該應用程序所需的.dll文件。如果您將該文件夾複製到未安裝Qt的Win x64機器上,則應該能夠重現我的錯誤。
EDIT1: 我被要求提供在我的生成/ Release目錄中的文件列表:
ArkCharacterSelector.exe
ArkCharacterSelector.res
CharacterManager.obj
Logger.obj
main.obj
moc_CharacterManager.cpp
moc_CharacterManager.obj
qrc_qml.cpp
qrc_qml.obj
主應用程序的DLL必須存在才能運行。缺少DLL時,會出現操作系統級錯誤。請參閱免費工具http://www.dependencywalker.com/以檢查此區域中是否存在缺少的DLL。 –
現在,如果您使用某些功能(如某些文件格式),則需要插件目錄DLL。但我懷疑這不是問題,因爲我希望你的應用程序應該開始顯示並且出現在屏幕上(因爲你沒有說你正在得到一個操作系統級別的錯誤對話框)。 –
下一個問題是你已經建立了64位,你是否試圖部署它在32位窗口?如果他們想要最大限度地消費,大多數人會爲32位窗口創建/構建,因爲它仍然可以在64位窗口上工作。 –