Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

SFML - problemy z biblioteką

Ostatnio zmodyfikowano 2012-01-03 17:35
Autor Wiadomość
Neth
Temat założony przez niniejszego użytkownika
SFML - problemy z biblioteką
» 2012-01-02 19:50:01
Witam.

Zacząłem uczyć się biblioteki graficznej SFML z kursu na tej stronie, autorstwa Piotra Szawdyńskiego. Przy okazji jest to moje pierwsze spotkanie z Visual C++ 2010 Express. Od początku kursu napotykałem różne problemy z tą biblioteką, ale teraz mam taki, którego po naprawdę wielu kombinacjach nie mogę rozwiązać. Myślę że może on być związany nie tyle z samym programowaniem co z błędami technicznymi.

Mój program ma jak na razie wyświetlać wczytany z pliku obraz png i czyścić okno. Już sama metoda Okno.Clear() powoduje błąd:
First-chance exception at 0x0100a800 in Core.exe: 0xC0000005: Access violation.
A buffer overrun has occurred in Core.exe which has corrupted the program's internal state. Press Break to debug the program or Continue to terminate the program.
Bez tej metody i metod związanych ze spritem program się uruchamia i gdy go wyłączam, pojawia się komunikat:
Run-Time Check Failure #2 - Stack around the variable 'Okno' was corrupted.
Kojarzone jest to z przekroczeniem w tablicy, ale 'Okno' to obiekt klasy sf::RenderWindow, więc nie rozumiem o co może chodzić.

Wyczytałem w wielu miejscach, że dla konfiguracji Debug biblioteki w linkerze powinny mieć sufiks -d. Dodałem go i wkleiłem odpowiednie *.dll do folderu z programem. Efekt:
Aplikacja nie została właściwie zainicjowana (0xc0150002)
i wyłączenie się programu. Informacje z Output:
'Core.exe': Loaded 'D:\Radziu\Programy\Moje C++\SFML\Core\Debug\Core.exe', Symbols loaded.
'Core.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file
'Core.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file
'Core.exe': Loaded 'D:\Radziu\Programy\Moje C++\SFML\Core\Core\sfml-window-d.dll', Cannot find or open the PDB file
Debugger:: An unhandled non-continuable exception was thrown during process load
The program '[4840] Core.exe: Native' has exited with code -1072365566 (0xc0150002).
Co robię źle? Co sugerujecie? Nie wiem już co mogę zrobić inaczej. Mam nadzieję, że podałem dość informacji o problemie, ale jeśli nie - oczywiście pytajcie.
Z góry dziękuję za zainteresowanie tematem i odpowiedzi i przepraszam za zaśmiecanie forum zapewne błachym (jak znam życie ;)) problemem. Pozdrawiam.

PS. Komunikaty powinny być wklejone w ramkach. Jak się to robi? Nie jestem częstym bywalcem forów, więc nie pamiętam.
P-47072
pekfos
» 2012-01-02 20:04:44
Skrypty na forum: » KursyKurs STC kurs
P-47076
Neth
Temat założony przez niniejszego użytkownika
» 2012-01-03 13:48:59
Dzięki. Chciałbym jednak dostać odpowiedź w głównej kwestii tego wątku. :) Czekam na pomoc. Nie wklejam kodu, bo to nie w kwestii jego budowy leży problem. Poza tym podałem chyba wszystkie potrzebne informacje.
P-47113
DejaVu
» 2012-01-03 15:42:47
Skompiluj źródła SFML przy pomocy Visual C++ 2010 skoro używasz Visual C++ 2010.
P-47118
Neth
Temat założony przez niniejszego użytkownika
» 2012-01-03 17:35:38
Jak się to robi? Czy zawsze trzeba to robić z nową biblioteką? Zrobiłem wszystko tak jak jest w tym filmiku:
http://www.youtube.com/watch?v=-uHGZGgMETg

W Output nadal widzę ten komunikat:
'Core.exe': Loaded 'D:\Radziu\Programy\Moje C++\SFML\Core\Debug\Core.exe', Symbols loaded.
'Core.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file
'Core.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file
'Core.exe': Loaded 'D:\Radziu\Programy\Moje C++\SFML\Core\Core\sfml-window-d.dll', Cannot find or open the PDB file
Debugger:: An unhandled non-continuable exception was thrown during process load
The thread 'Win32 Thread' (0x600) has exited with code -1072365566 (0xc0150002).
The program '[4332] Core.exe: Native' has exited with code -1072365566 (0xc0150002).

Wygląda jakby nie mógł znaleźć albo otworzyć sfml-window-d.dll. Dlaczego? Przecież plik jest w folderze.

EDIT: Założyłem nowy, czysty projekt i wszystko działa. Nie musiałem wklejać dll-elek do folderu z programem jak w tutorialu pisali. Widać źle tworzyłem projekt. Będę testował bibliotekę i jeśli w najbliższym czasie nie napotkam problemów to zamknę temat. Pozdrawiam. :)
P-47154
« 1 »
  Strona 1 z 1