Aplikacja nie została właściwie uruchomiona 0xc00007b

0

Witam, napisałem prostą grę sieciową w Qt, gra w gomoku (kółko i krzyżyk do 5), aplikacje klient i serwer. U mnie działa bez problemu, próbowałem ją uruchomić na innym komputerze i po kolei dołączałem do folderu z grą biblioteki .dll, których brakowało, potem sprawdziłem jeszcze za pomocą Dependency Walker czy jakiejś jeszcze nie brakuje i po uruchomieniu aplikacji wyskakuje coś takiego. Szukałem w internecie rozwiązania, gdzieś znalazłem, że to może być kwestia Microsoft .NET framework -> raczej nie, wysyłałem innym, uruchamiali i nie działało, pomimo tego, że mają zainstalowaną najnowszą wersję. Gdzieś indziej było, że może to wynikać z uszkodzenia bibliotek Visuala, tylko dlaczego działało by to u mnie, a u wszystkich pozostałych osób (sprawdzane na kilku komputerach) nie?

Będę wdzięczny za pomoc. Korzystałem z Qt 5.1 Beta (VS 2010, OpenGL).

1

Potrzebujesz msvcrt.dll czy jakoś tak i jeszcze jakiejś innej dllki od kompilatora mikrosoftu.

0

Dodałem msvcrt.dll i nadal pojawia się ten sam problem, a o jaką bibliotekę tego kompilatora chodzi? W sensie jak to się może mniej więcej nazywać?

1

Na pewno muszą być libEGL.dll, libGLESv2.dll, katalog platforms z qwindows.dll oraz 2 dllki msvc. Nie mam teraz pod ręką windowsa, zainstaluj Microsoft Visual C++ 2010 Redistributable Package i zobacz o jakie dllki chodzi.

0

To w sumie trochę dziwne, bo u mnie program działa, a nie mogę ich znaleźć u siebie. Szukałem jeszcze raz odpowiedzi w Dependency Walker i tam jest takie jakby drzewo zależności, zastanawiam się, czy tam trzeba skopiować tylko te, które są na szczycie hierarchii, czy dokładnie wszystkie?

0

Chodzi o: msvcr100.dll oraz msvcp100.dll
Dodaj je do katalogu z exekiem i zadziała. Zawsze można je podlinkować statycznie, ale jak to wygląda w vs to nie mam pojęcia.

0

Obydwa już były w folderze z grą i i tak nie chciała się otworzyć :/

1

Moja rada otworzyć konsole i przekierować stdout i stderr do jakiegoś pliku, w logach zapewne znajdzie się źródło problemu.

0

Z tego co wiem to freamwork nie zawiera starszych wersji i według mnie powinieneś spróbować zainstalować najpierw NET 3.5 potem 4.0 i 4.5 o ile nie działasz na XP (nie sprawdzałem czy ruszy na XP).

1

Kompilujesz w trybie Release?

0

Na pewno nie msvcrt.dll.

Jeśli program jest kompilowany GCC (MinGW) to co prawda używa msvcrt.dll, ale to jest biblioteka systemowa i nie należy jej dostarczać razem z programem.

Jeśli program jest kompilowany Visual C++, to może używać – w zależności od wersji – msvcr90.dll, msvcr100.dll, msvcr110.dll itp.; te biblioteki (w wersji release, nie debug) można załączyć do folderu z programem, ale lepszym rozwiązaniem jest zainstalowanie na docelowym komputerze odpowiedniej wersji “Visual C++ Redistributable”.

0

Kompilowałem w trybie debug, po kompilacji w trybie release u mnie na komputerze jeśli uruchamiałem go przez Qt Creator, to było ok, jeśli uruchamiałem plik wykonywalny, program włączał się, ale nie miał jednej z opcji menu paska narzędzi (tak jakby uruchamiał jakąś starszą wersję programu, w której jej nie dodałem). Na drugim komputerze za to, sukces połowiczny - błąd się nie pokazał, ale program nie włączył się w ogóle. Visual C++ Redistributable zainstalowałem w wersji 2010, 2005 i 2008 były już zainstalowane, nie pomogło niestety :/ Odnośnie logów, to nie miałem pojęcia specjalnego o co chodzi, trafiłem tutaj: Stderr, próbowałem coś zrobić, ale nie udało się.

0

Może po prostu wystaw nam tą paczkę instalacyjną ktoś sprawdzi u siebie w czym problem (ja nie mogę, od paru miesięcy Windows-a nie dotykam).

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