Autor Wątek: Blad z uruchomieniem  (Przeczytany 1780 razy)

Offline Dragomirus

  • Użytkownik

# Kwiecień 16, 2010, 17:51:32
Otoz mam od dluzszego czasu pewien blad w mojej aplikacji. Otoz nie chce ona sie uruchomic na wirtualnym komputerze. Blad ten to jak chyba wszscy wiedza, zwiazany jest z .NET i komunikatem o niepoprawnej konfiguracji. Z gory zazanczam, ze: zainstalowalem Microsoft Visual C++ 2008 Redistributable Package, probowalem sztuczek z manifestem(nie dzialaja) oraz dolaczeniem bibliotek, TO NIE JEST WERSJA DEBUG!!!, jest rowniez NET Framework 3.5. Dodam rowniez, ze miesiac temu wszystko chodzilo z manifestem na tym komputerze, malo tego nadal te same aplikacje z manifestem dzialaja. Tylko ta aplikacja nie chce sie uruchomic.

Aha no i projekt jest robiony w VS 2008.

Z gory dziekuje za wszelka pomoc :).

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline kombain

  • Użytkownik

# Kwiecień 16, 2010, 18:08:43
A może powiesz co ten błąd mówi? Jaki jest komunikat? Masz zainstalowane wszystkie frameworki (1.1, 2.0, 3.0, 3.5)?

Offline Liosan

  • Redaktor

# Kwiecień 16, 2010, 18:31:16
.Net i C++ ? Jakiś managed?

Liosan

Offline Dragomirus

  • Użytkownik

# Kwiecień 16, 2010, 19:00:29
KOMUNIKAT: Nie można uruchomić aplikacji, ponieważ jej konfiguracja jest niewłaściwa.

Poza tym jest to czysty projekt Win32 Okienkowy.

Offline Dragomirus

  • Użytkownik

# Kwiecień 16, 2010, 19:25:16
Dobra troszeczke posunalem sie do przodu. Otoz do aplikacji dolaczam swoja biblioteke statyczna - .lib jednak po kompilacji aplikacji tej okienkowej, docelowej wyswietla mi takie bledy:

nazwa biblioteki mojej statycznej - warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification

i pozniej

LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library

Ale kompilacja konczy sie sukcesem. Jak myslicie co jest nie tak? Aha no i po kompilacji zwyklej aplikacji okienkowej wszystko jest ok.

Offline Liosan

  • Redaktor

# Kwiecień 16, 2010, 20:33:45
Nie pisz posta pod postem, masz "Edytuj".

Błąd który podałeś raczej nie jest przyczyną problemu; dosłownie wczoraj rozwiązałem analogiczny problem w projekcie nad którym pracuję. Konkretniej, u mnie to było tak:
- kod C++, kompilowany Visual C++ 2008 EE, linkowany dynamicznie do biblioteki standardowej i paru innych
- generuje błąd który podałeś wyżej (warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs), z jakąś biblioteką której nie pamiętam
- generował błąd "aplikacja nie została poprawnie zainicjowana" na maszynie wirtualnej z czystym XP SP2
- depwalker nie podaje przyczyny błędu, stwierdza jedynie to co powyżej

Błędem okazała się nieprawidłowa konfiguracja manifestów; posługując się tym artykulikiem udało mi się to rozwiązać. Trzeba było wyłączyć embedding manifestu w execu, stworzyć własne manifesty (jeden dla aplikacji i jeden dla standardowej biblioteki MSVC) i dołączyć je razem z dll-kami do programu. Jeśli chcesz, możesz działające WG ściągnąć stąd - są tam przykłady tych manifestów.

Oczywiście, nasz projekt jest konsolowy, a Twój okienkowy. Mam nadzieję, że to nic nie zmienia. .NET framework nie miał znaczenia.

Liosan

Offline Dragomirus

  • Użytkownik

# Kwiecień 16, 2010, 21:41:03
No wielkie dzieki :). Pomoglo i wszystko teraz ladnie smiga. Zapomnialem tez skompilowac lib w wersji release, no i brakowalo wlasnie tego. Jeszcze raz dzieki.