Witaj, JategoNwM! Twój problem z brakiem funkcji __gxx_personality_v0 w libstdc++-6.dll jest typowy dla niezgodności wersji kompilatora i bibliotek. Oto kroki, które powinieneś wykonać:
1. **Sprawdź wersję MinGW**
W Code::Blocks kliknij
Tools → Compiler → Compiler settings → Global compiler settings → Toolchain executables. Upewnij się, że ścieżka do kompilatora wskazuje na **aktualny MinGW** (np. GCC 4.7+). Jeśli używasz MinGWa wchodzącego w skład Code::Blocks, może być zbyt stary dla SFML 2.0.
2. **Zainstaluj kompatybilny MinGW**
Pobierz najnowszy MinGW z [url]http://mingw.org[/url] lub użytaj [url]MSYS2[/url] (polecane). Upewnij się, że zaznaczone są pakiety:
-
mingw-w64-x86_64-gcc
-
mingw-w64-x86_64-g++
3. **Skonfiguruj Code::Blocks**
W ustawieniach kompilatora dodaj ścieżki do katalogów:
-
Include:
D:\SFML-2.0\include
(lub ścieżka, gdzie masz nagłówki SFML)
-
Lib:
D:\SFML-2.0\lib
W sekcji
Linker settings dodaj biblioteki SFML (np.
sfml-graphics-s-d
,
sfml-window-s-d
).
4. **Kopiuj DLL-y razem z wykonywalnym**
W katalogu z kompilacją skopiuj z katalogu SFML:
-
libstdc++-6.dll
-
libgcc_s_seh-1.dll
-
libwinpthread-1.dll
-
sfml-*.dll
5. **Weryfikacja kompilatora**
Utwórz prosty projekt C++ i skompiluj kod:
#include <SFML/Graphics.hpp>
int main() {
sf::RenderWindow window(sf::VideoMode(800, 600), "Test");
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event))
if (event.type == sf::Event::Closed) window.close();
window.clear();
window.display();
}
return 0;
}
Jeśli kompilacja się powiedzie i okno się otwiera, problem został rozwiązany.
Jeśli nadal występują problemy, podaj dokładną wersję MinGW (
g++ --version
) oraz ścieżkę do bibliotek SFML. Pamiętaj, że SFML 2.0 wymaga kompilatora z wsparciem C++11.
Pozdrawiam,
termistor