Problem z ładowaniem grafiki za pomocą loadFromFile z biblioteki SFML

0

Witam! Jestem na tym forum całkowicie nowy.Właściwie założyłem to konto w przypływie desperacji ,bo od ponad tygodnia szukam odpowiedzi na mój problem(także na tym forum) i wciąż boksuję w miejscu.

Problem dotyczy polecenia loadFromFile() w bibliotece SFML. W chwili ,gdy próbuję załadować plik graficzny otrzymuję podczas debuggingu informację o treści :

Unhandled exception at 0x1027ca24 (msvcr100d.dll) in SFML081.exe: 0xC0000005: Access violation reading location 0x00143000
.

Moja konfiguracja SFML 2.0 jest zgodna z **http://cpp0x.pl/kursy/Kurs-SFML-2-x-C++/Instalacja-i-konfiguracja/Konfiguracja-SFML-2-0-Visual-C++/463**(stamtąd także przekopiowałem nazwy bibliotek w odpowiednich konfiguracjach)
Bibliotekę pobrałem z oficjalnej strony SFML dla Windows 32x
Używam Visual C++ 2008 Express Edition
Pliki graficzne są umieszczone w tym samym miejscu co plik *.exe
Przekopiowałem także biblioteki z folderu bin do folderu z plikiem *.exe

Fragment Kodu:

#include<SFML/Graphics.hpp>
#include<SFML/Window.hpp>



int main()
{
	sf::RenderWindow window(sf::VideoMode(500,500,32),"Kurs jezyka c++");
	sf::Texture texture;
    if (!texture.loadFromFile("Slonce.png")) //<-- To tutaj debbuger wskazuje błąd.
        return -1;
    sf::Sprite sprite(texture);

while(window.isOpen())
	{
		sf::Event Event;
			while(window.pollEvent(Event))
			{
				switch(Event.type)
				{
				case sf::Event::Closed:
					window.close();
					
					break;

				}
			}
			window.display();
			window.clear(sf::Color::Cyan);
	}
		return 0;
}

Czy ktoś mógłby mi wytłumaczyć co robię źle? Jest to dla mnie bardzo ważne
Z góry dzięki :)

0

Upewnij się że używasz odpowiednich wersji bibliotek do trybu w którym pracujesz. Zakładam że jesteś na Debug, czyli libki powinny mieć nazwę z końcówką -d, np. sfml-window-d.lib. Więcej na http://stackoverflow.com/a/21132217.

0

Niestety już sprawdzałem tę opcję :(
Na 100% w Additional Dependicies w:
debug mam :

sfml-audio-d.lib
sfml-graphics-d.lib
sfml-main-d.lib
sfml-network-d.lib
sfml-system-d.lib
sfml-window-d.lib

a w release:

sfml-audio.lib
sfml-graphics.lib
sfml-main.lib
sfml-network.lib
sfml-system.lib
sfml-window.lib

Gdzieś znalazłem info ,że komunikat taki jak mój jest czasami związany z jakimiś "wyciekami pamięci" a loadFromFile() tak naprawdę tworzy po prostu wskaźnik do danego pliku graficznego. Być może to z tym związany jest mój problem. Niestety nie mam pojęcia jak go rozwiązać :(
EDIT:
Ale dzięki za wsparcie :)

1

A jesteś pewny że te biblioteki są dla Twojej wersji Visual Studio? Jeżeli Ty masz 2008, a SFML jest skompilowany pod np. 2012 to może to robić właśnie takie kaszanki.

0

Dobra. Żeby mieć absolutną pewność zainstalowałem z oficjalnej strony SFML 09 32x jeszcze raz. :)
Teraz ,gdy próbuję uruchomić program to co prawda nie otrzymuję wiadomości o"unhandled exception" ale ,że nie można było otworzyć pliku. :( (Wszystko skonfigurowałem od nowa :)).

1

Jakiego pliku? Jeżeli tego z obrazkiem to widocznie wsadziłeś go nie tam gdzie trzeba albo błędnie napisałeś ścieżkę. Kombinuj w tym kierunku.

0

OK ,masz rację,wsadziłem grafikę nie do tego katalogu
Najwidoczniej wcześniej rzeczywiście problemem była biblioteka (pewnie przez przypadek sciągnąłem nie tą wersję )
Teraz wszystko jest OK.:)
Dzięki za poświęcenie czasu. Bardzo mi pomogłeś. A już myślałem ,że z SFML-a nici :)
Myślę,żę temat jest zamknięty :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1