應用程序無法啟動,因為它無法找到或加載QT平臺插件“windows”我查看了所有與堆棧溢出相關的問題,但沒有一個解決方案對我有幫助。我正在使用此設置構建Qt應用程序:Windows 7專業版x64Visual Studio 2012Qt 5.2.0內置 configure -developer-build -debug-and-release -opensource -nomake examples -nomake tests -platform win32-msvc2012 -no-opengl項目使用QtSingleApplication(qt-solutions)應用程序是一個32位應用程序qmake使用以下命令運行:-makefile -spec win32-msvc2012.pri使用 QMAKE_CXX += /D_USING_V110_SDK71_我可以在我的開發機器上構建和運行我的程序(如上所述); 我也可以在dev機器上的Program Files目錄下安裝和運行包。當我在Windows Vista計算機上安裝并運行時(多臺計算機)安裝VC ++ redist 2012 11.0.61030.0安裝VC ++ redist 2010 10.0.40219加上2005年,2008版的redist(在Windows 7的全新安裝上也失敗了)我明白了:Application failed to start because it could not find or load the QT platform plugin "windows"所以我按照說明添加了.platforms /目錄,并添加了qwindows.dll(還添加了qminimal.dll和qoffscreen.dll); 我還添加了libEGL.dll,libGLESv2.dll(即使我不應該需要它們,我不認為)一旦我添加了qoffscreen.dll,我現在得到了額外的消息: Available platform plugins are: offscreen如果我通過Dependency Walker運行,我會列出以下錯誤:GetProcAddress(0x76CA0000 [KERNEL32.DLL], "GetCurrentPackageId") called from "MSVCR110.DLL" at address 0x6AC6FDFA and returned NULL. Error: The specified procedure could not be found (127).然后進一步得到:GetProcAddress(0x745A0000 [UXTHEME.DLL], "BufferedPaintUnInit") called from "COMCTL32.DLL" at address 0x745FFBF8 and returned 0x745AE18C.This application failed to start because it could not find or load the Qt platform plugin "windows".Available platform plugins are: offscreen.Reinstalling the application may fix this problem.任何想法如何解決這個DLL問題?
3 回答
墨色風雨
TA貢獻1853條經驗 獲得超6個贊
應用程序能夠在主機系統上運行,因為Qt bin路徑在系統PATH變量中。
有一個標準的Qt工具,用于在Windows上部署Qt應用程序,windeployqt以便能夠在未安裝Qt的目標計算機上運行應用程序。
該工具負責Qt DLL依賴項,制作副本,platforms\qwindows.dll并且它還使用Dependency Walker無法檢測到的庫副本,因為圖像插件和其他一些DLL在運行時加載。
您甚至不需要bin在您的環境中擁有Qt 文件夾PATH。最簡單的部署:
將內置
exe二進制文件復制到新文件夾cmd在該文件夾中打開控制臺windeployqt使用完整路徑調用(如果它不在系統中PATH)并提供可執行文件,例如:c:\Qt\Qt5.2.1\5.2.1\msvc2010_opengl\bin\windeployqt.exe application.exe
因此,您在該文件夾中擁有運行應用程序所需的所有Qt DLL。
該工具windeployqt有多種選擇。它還可以處理qml相關文件的部署。
當然,您也可能遇到MSVC可再發行組件的問題,但這些應該單獨部署并在每個系統上安裝一次。
如果使用它們,則只應手動復制某些第三方庫,例如OpenSSL。
- 3 回答
- 0 關注
- 15570 瀏覽
添加回答
舉報
0/150
提交
取消
