2013-01-12 28 views
7

我編譯的Qt 5.0.0與msvc2010,因爲我需要配置字符串Qt應用程序:無法加載平臺插件「窗口」。可用的平臺是:

configure -prefix %CD%\qtbase -opensource -nomake -nomake examples -nomake demo -opengl desktop -platform win32-msvc2010 

的OpenGL現在我就可以開始從只QtCreator Qt應用程序。我已經把應用程序在WinDBG的輸出下面

CommandLine: D:\work\workspace\WellReader_0_1-build-Qt_5_0_0_msvc2010_opengl-Release\release\WellReader_0_1.exe 
Symbol search path is: *** Invalid *** 
**************************************************************************** 
* Symbol loading may be unreliable without a symbol search path.   * 
* Use .symfix to have the debugger choose a symbol path.     * 
* After setting your symbol path, use .reload to refresh symbol locations. * 
**************************************************************************** 
Executable search path is: 
ModLoad: 00120000 00132000 image00120000 
ModLoad: 77900000 77a3d000 ntdll.dll 
ModLoad: 774b0000 77584000 C:\Windows\system32\kernel32.dll 
ModLoad: 75b60000 75baa000 C:\Windows\system32\KERNELBASE.dll 
ModLoad: 59d30000 59df8000 C:\Windows\system32\OPENGL32.dll 
ModLoad: 77020000 770cc000 C:\Windows\system32\msvcrt.dll 
ModLoad: 775f0000 77690000 C:\Windows\system32\ADVAPI32.dll 
ModLoad: 77b10000 77b29000 C:\Windows\SYSTEM32\sechost.dll 
ModLoad: 77a50000 77af2000 C:\Windows\system32\RPCRT4.dll 
ModLoad: 76340000 7638e000 C:\Windows\system32\GDI32.dll 
ModLoad: 76070000 76139000 C:\Windows\system32\USER32.dll 
ModLoad: 77a40000 77a4a000 C:\Windows\system32\LPK.dll 
ModLoad: 77690000 7772d000 C:\Windows\system32\USP10.dll 
ModLoad: 71a30000 71a52000 C:\Windows\system32\GLU32.dll 
ModLoad: 71500000 715e7000 C:\Windows\system32\DDRAW.dll 
ModLoad: 71620000 71626000 C:\Windows\system32\DCIMAN32.dll 
ModLoad: 75d70000 75f0d000 C:\Windows\system32\SETUPAPI.dll 
ModLoad: 75d20000 75d47000 C:\Windows\system32\CFGMGR32.dll 
ModLoad: 770d0000 7715f000 C:\Windows\system32\OLEAUT32.dll 
ModLoad: 75f10000 7606c000 C:\Windows\system32\ole32.dll 
ModLoad: 75be0000 75bf2000 C:\Windows\system32\DEVOBJ.dll 
ModLoad: 743d0000 743e3000 C:\Windows\system32\dwmapi.dll 
ModLoad: 5a1f0000 5a23b000 D:\work\workspace\WellReader_0_1-build-Qt_5_0_0_msvc2010_opengl-Release\release\Qt5OpenGL.dll 
ModLoad: 59910000 59d22000 D:\work\workspace\WellReader_0_1-build-Qt_5_0_0_msvc2010_opengl-Release\release\Qt5Widgets.dll 
ModLoad: 763d0000 7701a000 C:\Windows\system32\SHELL32.dll 
ModLoad: 77590000 775e7000 C:\Windows\system32\SHLWAPI.dll 
ModLoad: 59650000 59910000 D:\work\workspace\WellReader_0_1-build-Qt_5_0_0_msvc2010_opengl-Release\release\Qt5Gui.dll 
ModLoad: 59250000 5964c000 D:\work\workspace\WellReader_0_1-build-Qt_5_0_0_msvc2010_opengl-Release\release\Qt5Core.dll 
ModLoad: 76390000 763c5000 C:\Windows\system32\WS2_32.dll 
ModLoad: 77360000 77366000 C:\Windows\system32\NSI.dll 
ModLoad: 687b0000 68819000 C:\Windows\system32\MSVCP100.dll 
ModLoad: 67930000 679ef000 C:\Windows\system32\MSVCR100.dll 
(116c.16cc): Break instruction exception - code 80000003 (first chance) 
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll - 
eax=00000000 ebx=00000000 ecx=0030f8d4 edx=779470f4 esi=fffffffe edi=00000000 
eip=779a058e esp=0030f8f0 ebp=0030f91c iopl=0   nv up ei pl zr na pe nc 
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000    efl=00000246 
ntdll!LdrVerifyImageMatchesChecksum+0x633: 
779a058e cc    int  3 
0:000> g 
ModLoad: 75d50000 75d6f000 C:\Windows\system32\IMM32.DLL 
ModLoad: 77830000 778fc000 C:\Windows\system32\MSCTF.dll 
ModLoad: 75a10000 75a45000 C:\Windows\system32\nvinit.dll 
ModLoad: 75940000 7594c000 C:\Windows\system32\cryptbase.dll 
Failed to load platform plugin "windows". Available platforms are: 

*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\system32\kernel32.dll - 
eax=00000000 ebx=00000001 ecx=0030fa38 edx=00000020 esi=779d7380 edi=779d7340 
eip=779470f4 esp=0030fa88 ebp=0030faa4 iopl=0   nv up ei pl zr na pe nc 
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000    efl=00000246 
ntdll!KiFastSystemCallRet: 
779470f4 c3    ret 
0:000> g 
    ^No runnable debuggees error in 'g' 

我可以採取插件「窗口」?或者我應該用另一個配置選項重新編譯Qt?請指教

回答

11

我還沒有看Qt 5.0,但如果他們現在有插件平臺,你必須確保你的應用程序可以在運行時找到它們。顯然QtCreator正確設置了PATH,所以所有的插件都在那裏,不需要重新編譯Qt。

找到plugins文件夾,將必要的插件複製到您的安裝文件夾中(確保保持結構,例如「plugins/imageformats /.../ bla.dll」等),創建qt.conf文件並將plugins路徑設置爲是「。」。將qt.conf文件也放到安裝文件夾中。

+3

感謝您的指導!我已經在我的安裝文件夾中創建文件夾「平臺」,並將qwindows.dll放在那裏,它工作 – quux

+0

尤金請參閱此鏈接:http://stackoverflow.com/questions/16198649/qt-application-requires-dlls-that-我無法找到我有同樣的問題,當我添加'qt.conf'時,exe也開始在我的電腦上崩潰,而我試圖在沒有Qt5安裝的其他電腦上運行它。 qt.conf文件的正確配置是什麼? – Narek

+0

@quux它也適用於我。只需複製平臺和其他必需的DLL(由錯誤消息告知)。 – Narek

相關問題