2013-08-21 17 views
8

Szukałem rozwiązania problemu i chociaż znalazłem wiele osób, które dzielą się moim problemem, żadne z ich rozwiązań nie działa dla mnie.Wdrażanie aplikacji Qt C++ z programu Visual Studio qwindows.dll błąd

Napisałem aplikację w języku C++ za pomocą architektury Qt przy użyciu Visual Studio 2010. Zbudowałem i uruchomiłem aplikację w trybie "Release" z Visual Studio bez problemu, ale kiedy skopiuję ten exe z folderu Release do nowego miejsca docelowego (udawaj jego nowy PC) nie powiedzie się uruchomić zapewnienie ten błąd:

--------------------------- 
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. 

w katalogu wykonywalnego mam następującą strukturę plików:
./TestApplication.exe
./libGLESv2.dll
./Qt5Core .dll
./Qt5Gui.dll
./QtWidgets.dll
./platforms/qwindows.dll
./qt.conf

Wszystkie pliki DLL zostały zaczerpnięte z 5.0.0 build Qt w folderze Qtbase gdzie biblioteki zamieszkania.

Plik qt.conf jest:

[Paths] 
Plugins=. 

Bez niej błąd launch jest taka sama, oprócz tego, że mówi „minimalne” i „poza ekranem” są dostępne platformy, jak również.

Dla wszystkich innych osób, u których wystąpił ten błąd, wydawało się, że został rozwiązany przez utworzenie folderu platforms i wstawienie pliku qwindows.dll. Ale samo to nie zmienia żadnego zachowania.

Czy jest coś, co zrobiłem źle? Być może moja metoda generowania .exe w pierwszej kolejności jest błędna?

+0

Czy wykonałeś wszystkie kroki w [wdrożeniu] (http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html)? –

Odpowiedz

9

Jeśli używasz biblioteki libGLESv2.dll, musisz dołączyć także plik libEGL.dll. Nie widzisz tego w pliku depends.exe, nie wiesz, w jaki sposób deweloperzy Qt zdołali to ukryć. Jeśli twoja Qt jest już po wyjęciu z pudełka, to obie biblioteki dll są niezbędne, nawet jeśli nie korzystasz z OpenGL.

Ponadto, jeśli twoja Qt jest już nieaktualna, musisz dołączyć także trzy ic * .dll, które zawierają informacje o obsłudze Unicode.

+0

Dodanie tego pliku DLL naprawiło komunikat o błędzie "Ta aplikacja nie uruchamia się, ponieważ nie mogła znaleźć lub załadować wtyczki platformy Qt" okna ", które otrzymywałem. – Phil

2

Możesz zobaczyć, które biblioteki DLL są potrzebne, sprawdzając, które z nich są wywoływane podczas uruchamiania Debugowania (F5) w Qt Creator. = Carl

+0

Ciekawe, rozwijam się za pomocą wtyczki Visual Studio, ale zajrzę do tej opcji następnym razem, gdy będę walczył z problemami z zależnościami. – Grambot

Powiązane problemy