[solved]Errore qt platform plugin
-
Buongiorno a tutti,
ho sviluppato un' applicazione qt utilizzando qt creator e come build kit MS visual studio 2010.
Il programma gira e compila correttamente sul pc di sviluppo; anche la build va... quando pero' cerco di farla andare su altri pc compare questa finestra di errore:
Debug Error!
Program: ....
Module 5.3.2
File: kernel\qguiapplication.cpp
Line: 1022This application failed to start because it could not find or load the Qt platform plugin "windows"
Reinstalling the application may fix this problem.
Ho notato che il problema si risolve se installo qt sul pc in questione ma... devo installarlo su ogni pc che dovra' utilizzare il software, o c'e' qualcosa che sto sbagliando? Puntualizzo che parliamo di pc con windows 7 64 bit... ma sul 32 ho gia' provato e non cambia nulla.
Grazie in anticipo per l'aiuto!
Giacomo.
-
Quando copi l'applicazione su altri pc, copi anche le librerie Qt o no ?
qt.conf o <appname>.conf lo usi ? -
Buongiorno,
Intanto grazie per la risposta.
Quando faccio il build dell'applicazione poi la analizzo con dependency walker e copio e incollo le DLL richieste all'interno della cartella dove è presente il .exe in più seguendo un thread ho copiato tutta la cartella "plugins" per tentare di risolvere il problema... Ma non ha funzionato.
Il .conf non so cosa sia :( -
Ciao,
senza il tuo pc davanti è difficile capire quale sia il problema ma sei sicuro di aver copiato tutte le dll tipo le libEGL, libGLESv2, etc ?Io quando ho problemi di questo tipo, uso Process Monitor e te lo consiglio:
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspxImposti un po' di filtri tipo process name, platform etc in modo da poter controllare solo il processo che ti interessa, poi lanci il processo che ha problemi e su Process Monitor vedi tutto, ma proprio tutto, quello che fa il processo e perchè fallisce. Una specie di *nix "strace" per windows, per capirci.
-
Grazie per la risposta.
Ho utilizzato il monitor di processo che mi avete consigliato... questo e' il responso:
https://drive.google.com/file/d/0B2Ys5wOGowHPcXR6alpvbEh2Yk0/view?usp=sharing
Purtroppo essendo un neofita non e' che ci capisca gran che :/
Qualche idea?
-
Così a prima vista sembra carichi un misto di librerie 32 e 64 bits.
Qt è compilato a 32 o 64 ? Vedo che molte dll sono caricate da "C:\Windows\SysWOW64" che per quei burloni della MS significa 32bits mentre "C:\Windows\System32" significa 64bits. Più di così non so come aiutarti...Ti consiglio un altro programma ottimo e gratuito:
http://www.dependencywalker.com/Gli fai caricare un exe o dll e ti mostra tutte le dipendenze con relativi errori di compatibilità (32/64) o di non trovato.
-
Grazie ancora per le risposte.
Ho deciso di rifare tutto su un sistema 32 bit di test con compilazione eseguita mediante qt5+mgw (a 32 bit). Questo per risolvere il problema di "mix delle variabili".
Ecco il responso di dependency walker riguardo le dll mancanti:
-
http://qt-project.org/wiki/Deploy_an_Application_on_Windows
!http://i.imgur.com/S582DlV.png(DLLs)!
[quote author="cavigliera" date="1414855521"]http://justpaste.it/hsqv
API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
API-MS-WIN-CORE-DEBUG-L1-1-1.DLL
API-MS-WIN-CORE-DELAYLOAD-L1-1-1.DLL
API-MS-WIN-CORE-ERRORHANDLING-L1-1-1.DLL
API-MS-WIN-CORE-HEAP-L1-2-0.DLL
API-MS-WIN-CORE-INTERLOCKED-L1-2-0.DLL
API-MS-WIN-CORE-LIBRARYLOADER-L1-1-1.DLL
API-MS-WIN-CORE-MEMORY-L1-1-1.DLL
API-MS-WIN-CORE-PROCESSTHREADS-L1-1-1.DLL
API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL
API-MS-WIN-CORE-RTLSUPPORT-L1-2-0.DLL
API-MS-WIN-CORE-SYNCH-L1-2-0.DLL
API-MS-WIN-CORE-SYSINFO-L1-2-0.DLL
API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-EVENTING-PROVIDER-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
IESHIMS.DLL
[/quote]Questo va bene. Non hai bisogno di queste DLL.(Mi dispiace, non so italiano. Ho usato Google Translate)
-
Thanks a lot! It worked!!!