Autor Wątek: SFML 1.6 VS 2010 EE Problem z debugowaniem.  (Przeczytany 5019 razy)

Offline KeeL

  • Użytkownik

# Styczeń 15, 2011, 20:43:13
Witam, mam taki o to problem:
Kompiluje aplikację wszystko ok, skompiluje się bez błędów, odpalam do dbugowania i wyskakuje mi błąd:
Run-Time Check Failure #2 - Stack around the variable 'App' was corrupted.
Czym to jest spowodowane?

PS Dodaje biblioteki bez końcówki -d, gdyż z tą końcówką nie kompiluje mi się.

Offline Mr. Spam

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

Offline agent_J

  • Użytkownik

# Styczeń 15, 2011, 21:02:53
3 wynik na google ... Musisz użyć wersji z -d w debugu.

Offline KeeL

  • Użytkownik

# Styczeń 15, 2011, 21:04:51
PS Dodaje biblioteki bez końcówki -d, gdyż z tą końcówką nie kompiluje mi się.
A dlaczego mi się może nie kompilować z końcówką -d?


Dobra skompilowałem z tą końcówką udało się, ale teraz jest błąd, Program został źle zaincjalizowany błąd 0x120393413 Why?
« Ostatnia zmiana: Styczeń 15, 2011, 21:41:43 wysłana przez KeeL »

Offline Liosan

  • Redaktor

# Styczeń 16, 2011, 11:05:08
a .dllki dodałeś z końcówką -d...?

Liosan

Offline Drraven

  • Użytkownik

# Styczeń 16, 2011, 11:29:30
Boże, chyba muszę do swojego kursu dopisać obsługę SFML w ms vs..
Jeśli kompilujesz dodajesz to bez końcówki -d. Jeśli Debugujesz z -d. Skąd to wiem (używam linuksa) pierwszy link w gogle i mam wątek na forum sfml'a.

Offline KeeL

  • Użytkownik

# Styczeń 16, 2011, 18:53:59
Boże, chyba muszę do swojego kursu dopisać obsługę SFML w ms vs..
Jeśli kompilujesz dodajesz to bez końcówki -d. Jeśli Debugujesz z -d. Skąd to wiem (używam linuksa) pierwszy link w gogle i mam wątek na forum sfml'a.

Kompiluje:
daje bez -d, kompiluje się, ale przy włączaniu wyskakuje błąd inicjalizacji aplikacji, i ten błąd, 0x015002 czy jakoś tak.

Debuguje :
dodaje te -d to mi wychodzi błąd, że nie znaleziono bibliotek chociaż są one.
Jak daje bez -d w debugu, to się kompiluje działa, ale jak zamykam okienko
Run-Time Check Failure #2 - Stack around the variable 'App' was corrupted.

Aha kompilowałem program konsolowy z biblioteką SFML i nie ma problemów, tylko z aplikacjami okiekowymi jest taki problem.

Offline Frondeus

  • Użytkownik

# Styczeń 16, 2011, 20:21:57
hym. z tego co pamiętam miałem podobny problem i musiałem robić static link. inaczej nie dawało rady...
#ifdef _DEBUG
#pragma comment(lib,"sfml-system-s-d.lib")
#pragma comment(lib,"sfml-window-s-d.lib")
#pragma comment(lib,"sfml-graphics-s-d.lib")
#else
#pragma comment(lib,"sfml-system-s.lib")
#pragma comment(lib,"sfml-window-s.lib")
#pragma comment(lib,"sfml-graphics-s.lib")

#endif

Offline Xirdus

  • Redaktor

# Styczeń 16, 2011, 20:26:36
#pragma comment zabija powoli.

Offline KeeL

  • Użytkownik

# Styczeń 16, 2011, 22:36:04
#pragma comment zabija powoli.

Tzn?

Spróbuje jutro i dam odpowiedź co i jak, a jescz jedno, napiszcie mi jak ma wyglądać wejście w linkerze, chcę się upewnić że mam dobrze.

Offline Xirdus

  • Redaktor

# Styczeń 16, 2011, 23:21:15
W ustawieniach projektu, w ustawieniach linkera, w link additional libraries czy jakoś tam, dla konfiguracji debug dajesz biblioteki z -d, a dla release dajesz bez -d.

Offline KeeL

  • Użytkownik

# Styczeń 17, 2011, 15:22:12
Daje z pragma wyskakuje mi ten sam błąd, już nie mam pomysłu co  może być.

W debugowaniu jak dodam z -d to wyskakuje mi błąd inicjalizacji aplikacji (0xc0150002). Naciśnij ok aby zakończyć aplikacje.
W relase jak daje zwykle wszystko ok, ale jak zamykam wyskakuje ten błąd co pisałem w 1 poście o nim.

Offline Lerhes

  • Użytkownik

# Styczeń 17, 2011, 16:16:12
To taka prosta biblioteka, a ty prostego przykładu nie umiesz skompilować.

Wszystko co piszę ustawiasz we właściwościach projektu:

C/C++ -> General -> Additional Include Directories   =  $(SFML)\include
Linker -> General ->  Additional Library Directories   =  $(SFML)\lib
Linker -> System -> Windows
To poniżej trzeba do pisać, do tego co już jest:
Linker -> Input -> Additional Dependencies   =  sfml-main-d.lib;sfml-system-s-d.lib;sfml-graphics-s-d.lib;sfml-window-s-d.lib;

I koniec, będzie działać. Ewentualnie jak nie zdefiniowałeś sobie $(SFML) w zmiennych systemowych, to podmień sobie to na pełną ścieżkę.
W załączniku paczka...
Lerhes

Offline KeeL

  • Użytkownik

# Styczeń 17, 2011, 20:02:12
To taka prosta biblioteka, a ty prostego przykładu nie umiesz skompilować.

Wszystko co piszę ustawiasz we właściwościach projektu:

C/C++ -> General -> Additional Include Directories   =  $(SFML)\include
Linker -> General ->  Additional Library Directories   =  $(SFML)\lib
Linker -> System -> Windows
To poniżej trzeba do pisać, do tego co już jest:
Linker -> Input -> Additional Dependencies   =  sfml-main-d.lib;sfml-system-s-d.lib;sfml-graphics-s-d.lib;sfml-window-s-d.lib;

I koniec, będzie działać. Ewentualnie jak nie zdefiniowałeś sobie $(SFML) w zmiennych systemowych, to podmień sobie to na pełną ścieżkę.
W załączniku paczka...
Lerhes
Dzięki Lerhes, teraz all gra, Linker ->System->Window nie miałem

Offline Drraven

  • Użytkownik

# Styczeń 17, 2011, 21:19:17
Heh czyli mogłem napisać ten artykuł uprzedziłbym Lerhesa KeeL skąd się uczysz ? A i sprawdź czy Lerhes ma najnowsze SFML w tej paczce.

Offline KeeL

  • Użytkownik

# Styczeń 17, 2011, 21:47:55
Heh czyli mogłem napisać ten artykuł uprzedziłbym Lerhesa KeeL skąd się uczysz ? A i sprawdź czy Lerhes ma najnowsze SFML w tej paczce.
W paczce jest tylko projekt z wyświetlaniem sprita( chyba, jeszcze nie wiem jak się wszystko nazywa), obracaniem i przesuwaniem go.

A co do uczenia to z twojego bloga  ;D i z strony głównej SFML'a.

A tak nawiasem mówiąc bez tego ustawienia w SDL wszystko działało normalnie :).