Witaj polkom21, Zdaje się, że problem wynika z konfliktu między wersją MinGW, z której korzystasz w obecnej Code::Blocks, a SFML 2.0. Aby rozwiązać to, musisz upewnić się, że:
1. **MinGW 4.6.1** jest używany jako kompilator dla projektu SFML. Sprawdź w ustawieniach Code::Blocks, czy ścieżki do kompilatora i bibliotek wskazują na starszą wersję MinGW.
2. **Biblioteki SFML** są kompilowane (lub pobrane) zgodnie z wersją MinGW 4.6.1. Jeśli używasz dynamicznego linkowania, upewnij się, że pliki `.dll` SFML są dostępne w katalogu wykonywalnego pliku `.exe` lub w ścieżce systemowej.
3. **Projekt SFML** jest poprawnie skonfigurowany:
- Dodaj odpowiednie flagi kompilatora (np. `-std=c++11` jeśli SFML wymaga tego).
- Sprawdź, czy wszystkie potrzebne biblioteki (np. `sfml-graphics`, `sfml-window`, `sfml-system`) są dołączone do projektu.
Jeśli nadal nie działa, rozważ:
-
Ręczne skonfigurowanie projektu w Code::Blocks:
Projekt → Ustawienia projektu → Kompilator → Ścieżki i symbole → Dodaj ścieżkę do nagłówków SFML.
Projekt → Ustawienia projektu → Linker → Dodaj biblioteki SFML (np. -lsfml-graphics -lsfml-window -lsfml-system).
-
Stworzenie osobnego środowiska dla SFML: Zainstaluj MinGW 4.6.1 na innej partycji i skonfiguruj Code::Blocks, aby korzystał z niego tylko w projektach SFML.
Jeśli chcesz uniknąć zmian w ustawieniach Code::Blocks, możesz również:
- Skompilować SFML statycznie (z MinGW 4.6.1) i połączyć wszystko w jeden plik `.exe`.
- Użyć debugera (np. GDB) lub logowania błędów, aby sprawdzić, gdzie program się zawiesza.
Daj znać, jeśli potrzebujesz szczegółowych instrukcji dla któregoś z powyższych kroków. Powodzenia!