2013-01-12 5 views
7

Mam skompilowany Qt 5.0.0 z msvc2010 bo muszę OpenGL z configure ciągAplikacja Qt: nie udało się wczytać wtyczki platformy "Windows". Dostępne platformy to:

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

Teraz mogę uruchomić aplikację z Qt tylko Qt Creator. Wrzuciłem aplikację do WinDBG, jej wyjście poniżej

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' 

Gdzie mogę wziąć plugin "windows"? Czy powinienem ponownie skompilować Qt z innymi opcjami konfiguracji? Proszę o poradę

Odpowiedz

11

Nie patrzyłem jeszcze na Qt 5.0, ale jeśli teraz mają platformy wtyczek, musisz upewnić się, że aplikacja może je znaleźć w czasie wykonywania. Wygląda na to, że QtCreator poprawnie ustawia PATH, więc wszystkie wtyczki tam są, nie ma potrzeby odbudowywania Qt.

Znajdź folder wtyczek, skopiuj niezbędne wtyczki do folderu instalacyjnego (upewnij się, że zachowałeś strukturę, więc "plugins/imageformats /.../ bla.dll", itp.), Utwórz plik qt.conf i ustaw ścieżkę wtyczek na być ".". Wrzuć plik qt.conf również do folderu instalacji.

+3

Dzięki za wskazówki! Stworzyłem folder "platformy" w folderze instalacji i umieściłem tam qwindows.dll i działa – quux

+0

Eugene proszę zobaczyć ten link: http://stackoverflow.com/questions/16198649/qt-application-requires-dlls-that- i-cant-find Mam ten sam problem i kiedy dodałem plik 'qt.conf', exe zaczął się również zawieszać na moim komputerze, podczas gdy próbowałem go uruchomić na innych komputerach bez instalacji Qt5. Jaka jest prawidłowa konfiguracja pliku 'qt.conf'? – Narek

+0

@ Quux to działało również dla mnie. Po prostu skopiowane platformy i inne biblioteki dll, które były niezbędne (powiedział komunikat o błędzie). – Narek