2013-08-21 15 views
8

Ho cercato su Google una soluzione a questo problema e anche se ho trovato molte persone che condividono il mio problema, nessuna delle loro soluzioni funziona per me.Distribuzione dell'applicazione Qt C++ dall'errore di qwindows.dll di Visual Studio

Ho scritto un'applicazione C++ utilizzando Qt framework utilizzando Visual Studio 2010. Ho creato e eseguito l'applicazione in modalità "Release" da Visual Studio senza problemi, ma quando copio l'exe dalla cartella Release in una nuova destinazione (finta il suo un nuovo PC) non riesce ad eseguire la fornitura di questo errore:

--------------------------- 
TestApplication 
--------------------------- 
This application failed to start because it could not find or load the Qt platform plugin "windows". 

Available platform plugins are: windows. 

Reinstalling the application may fix this problem. 

All'interno della directory eseguibile ho la seguente struttura dei file:
./TestApplication.exe
./libGLESv2.dll
./Qt5Core .dll
./Qt5Gui.dll
./QtWidgets.dll
./platforms/qwindows.dll
./qt.conf

Tutti i file dll sono state prese dalla 5.0.0 build di Qt nella cartella Qtbase in cui le librerie risiedono.

Il file qt.conf è:

[Paths] 
Plugins=. 

Senza di essa, l'errore di lancio è la stessa, tranne che dice "minimal" e "fuori campo" sono piattaforme disponibili pure.

Per tutte le altre persone che hanno riscontrato questo errore, è stato risolto creando la cartella platforms e inserendo qwindows.dll. Ma farlo da solo non cambia alcun comportamento.

C'è qualcosa che ho fatto di sbagliato? Forse il mio metodo per generare l'exe in primo luogo è sbagliato?

+0

Hai seguito tutti i passaggi in [distribuzione] (http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html)? –

risposta

9

Se si utilizza libGLESv2.dll, è necessario includere anche libEGL.dll. Non si può vedere che in depends.exe, non si sa come gli sviluppatori Qt sono riusciti a nasconderlo. Se la tua Qt è pronta, allora entrambe le DLL sono necessarie anche se non stai usando OpenGL.

Inoltre, se il Qt è pronto, è necessario includere anche i tre file * .dll, che contengono informazioni per la gestione Unicode.

+0

Aggiungendo che la DLL ha corretto il messaggio di errore 'Questa applicazione non si avvia perché non è stato possibile trovare o caricare il plugin per la piattaforma Qt "windows"' che stavo ottenendo. – Phil

2

È possibile visualizzare quali DLL sono necessarie osservando quali sono richiamate quando si esegue Debug (F5) in Qt Creator. = Carl

+0

Interessante, sto sviluppando con il plug-in di Visual Studio ma esaminerò questa opzione la prossima volta che combatterò problemi di dipendenza. – Grambot

Problemi correlati