Qt5, odpalenie *.exe poza QtCreatorem Windows 8

0

Witam! Napisałem aplikację w C++ z Qt5.1 na Windows 7 64 bit. Wyciągnałem z builda *.exe, utowrzyłem nowy folder, skopiowałem do niego exe, i potrzebne dlle, to zawartość tego folderu:

myapp.exe
icudt51.dll
icuin51.dll
icuuc51.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll

U mnie wszystko działa jak trzeba. Przesłałem plik koledze, żeby sprawdził, czy działa mu to na Windows 8 64 bit, a on dostał taki error:

xrip.jpg

Co mogę zrobić, żeby on mógł na swoim komputerze odpalić ten plik?

0

Dependency Walker mówi, że potrzebuję tych dlli:

cut.PNG

Jakaś podpowiedź?

przesunięcie obrazu do osobnej - nowej linii - fp

0

Tak, dorzuć do programu msvcrt.dll którego w twojej liście nie ma, albo nakaż instalacji twojemu koledze http://www.microsoft.com/en-us/download/details.aspx?id=30679

Z zestawu bibliotek usuń icudt51.dll, icuin51.dll, icuuc51.dll bo są częścią gt5core.dll, natomiast kernel32.dll to standardowa biblioteka Windowsa, która jest dostarczana wraz z nim więc z nią nie musisz nic robić.

0

msvcrt.dll jest elementem windowsa, i nie należy brać z jednego (win7) i wrzucać do drugiego (win8).
I nie mylić tej biblioteki z Visual C++ Runtime, bo tam są DLL-ki zawsze z wersją w nazwie (msvcr90.dll, msvcr100.dll itd.)

A program się po prostu wywala, najprawdopodobniej wcale nie z powodu brakujących bibliotek.

0

Dzięki, jak tylko go złapię na GG, podrzucę mu to msvcrt.dll i powiem, żeby doinstalował ten update. A te dllki o któych piszesz, to bez nich nie chciało mi ruszyć, dlatego je dodałem ;)

Ale to jest zwykła prosta aplikacja, okienko z comboboxem, progress barem i tyle. Zwyczajnie chcieliśmy sprawdzić, czy to zadziała, więc to nie wina programu.

Ok, sprawdziłem u siebie na czystym XP, problem rzeczywiście istnieje. Dodałem dodatkowo do katalogu plik msvcr100.dll, zainstalowałem http://www.microsoft.com/en-us/download/confirmation.aspx?id=30679 i nadal nic.

0

To jest znany błąd w Qt.
https://bugreports.qt-project.org/browse/QTBUG-28766
Nie wiem czy to dokładnie to, jednak ponad 40MB zależności dla prostej aplikacji jest już przesadą.

EDIT
Trochę pogrzebałem i po wrzuceniu takich bibliotek puste okienko odpaliło się na maszynie wirtualnej, więc powinno wtedy również u Twojego kolegi:

Qt5Widgets.dll
Qt5Gui.dll
Qt5Core.dll
libwinpthread-1.dll
libstdc++-6.dll
libgcc_s_dw2-1.dll
icuuc51.dll
icuin51.dll
icudt51.dll
platforms/qwindows.dll

Łącznie 43MB, ale coś za coś. Qt raczej średnio nadaje się do pisania prostych, małych aplikacji :)

0

Możesz podać dokładne ścieżki? Ja na razie przerzuciłem się na Qt4, jak nie wyjdzie, to przy tym zostanę ... na razie sprawdzam Qt4

Ok, Qt4 u mnie zadziałało.

0

O jakie dokładnie ścieżki Ci chodzi?
Biblioteki wrzucasz do katalogu z programem. A dllki wyszukiwałem w katalogu Qt (Qt\Qt5.1\5.1.0\mingw48_32), korzystam z MinGW, jeżeli korzystasz z VC ścieżka powinna wyglądać analogicznie.

0

niestety, nadal ten sam error - dodałem wszystkie podane przez Ciebie dlle, też używam MinGW

Niestety, ciągle nic:

1.PNG

2.PNG

1

niedawaj wszystkiego na slepo do glownego katalogu
@tomepaw pokazal ci ze biblioteka "qwindows.dll" ma byc w katalogu "platforms"

0

Działa! :) Dziękuję. Tak wygląda ostatecznie:

3.PNG

1

O masakra. Ale upierdliwe...

1 użytkowników online, w tym zalogowanych: 0, gości: 1