• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie mogę załadować tekstury w SFML.

Object Storage Arubacloud
0 głosów
353 wizyt
pytanie zadane 28 lipca 2021 w C i C++ przez tonn204 Mądrala (7,440 p.)

Chiałem załadować teksturę w SFML, ale wyrzuca mi wyjątek taki jak poniżej. Ścieżka do pliku jest porawna, próbowałem nawet podawać całkowitą ścieżkę do pliku z teksturą ale wyrzucało ten sam wyjątek. Jak to naprawić?

#include <iostream>

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML works!", sf::Style::Close);

    sf::Texture player_texture;
    if (!player_texture.loadFromFile("player.png"))
    {
        std::cout << "Failed to load player texture" << std::endl;
    }
    sf::Sprite player;
    player.setTexture(player_texture);

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

        window.clear();
        window.draw(player);
        window.display();
    }
}

A tu to co wywala mi konsola:

Failed to load image "p╬player.png↕■  
☼↕ý☻ű‼łfű♥ű ♥X☻ ­dű↕8ĐŘý☻ű☺♥‼♥@łű♥Éfű☺☺☺☺`űHp☻ű↕p☻ű☺☺↕↕p☻ű‼∟űô şĽwb´Pˇ■   ,°ôřxľw$yľwÉfűűřxľw$yľw°dűűřxľw$yľwhcűűÉfűú▀ôwűL°ô♠<ĺw↓Éfű♠<ĺwÇ°ôű↑~ĺwđ¸Ř[îĺw╬ď]äűÓá˙ô\˙ôđgűś°ô.▀ôwŞÔűŞÔű\˙ôđgű░°ô.▀ôwxfű♀&Ćw╚°ô§šôw\˙ôrqĺw[îĺwľď]äű@♦°˙ô÷┴św↑tűŠŇ]äđ{--Ę-ű`˙ô☺☻☻☻ŕëű☺☻♥┤fű]áw╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠☺╠╠╠╠╠╠╠╠h╚l|╠╠╠╠╠╠╠╠ł═Ęó╠╠╠╠▲é╣◄☺ ♥X☻x╚l|╠╠╠╠╚CľCHD▬DÇ?Ç?Ç?Ç?Ç?Ç?Ç?Ç?Ç?Ç?╠╠╚CľCHD▬DÇ?Ç?Ç?Ç?Ç?Ç?Ç?Ç?Ç?Ç?╠╠♠☺                ☺╠╠╠╠ôĹ»jđřôo║▀♠äřôsn▀☺hŢűÇĂŘ☺hŢűÇĂŘÓřôăl▀↨Ĺ»j7►▀7►▀đ{ÓÓîřôL■ô└ő▀/ľŃjŔřô]k▀­řô°n▀■ô)˙Ěvđ{►˙Ěv\■ô~zöwđ{ľđ]äđ{♀■ôd■ô şĽwŐŠPˇl■ôNzöw    )Őľw7►▀đ{
D:\game-dev cpp\my_first_sfml_game\Debug\my_first_sfml_game.exe (proces 3828) zakończono z kodem -1.
Aby automatycznie zamknąć konsolę po zatrzymaniu debugowania, włącz opcję Narzędzia -> Opcje -> Debugowanie -> Automatycznie zamknij konsolę po zatrzymaniu debugowania.
Naciśnij dowolny klawisz, aby zamknąć to okno...

 

1
komentarz 28 lipca 2021 przez j23 Mędrzec (194,920 p.)
edycja 29 lipca 2021 przez j23
Wersja kompilatora, którym została skompilowana biblioteka, jest zgodna z wersją kompilatora, którym kompilujesz projekt?
komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)
Jak mogę to sprawdzić?
komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)

Na stronie biblioteki masz napisane, dla jakiego kompilatora jest dana paczka -> link

komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)
Pobrałem wersję 32bit dla VS 2017, bo dla VS 2019 nie było wersji.
komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)

No to masz problem.

Możesz:

  • w opcjach projektu przełączyć Platform Toolset (możesz nie mieć takiej możliwości).
  • próbować ściągnąć NuGetem bibliotekę, jeśli jest w repozytorium.
  • skompilować bibliotekę samodzielnie (może być ciężko, bo są zależności).
komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)

Przełączyłem Platform Toolset ale teraz wyskakują mi tego typu błędy:

komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)
Nic nie widzę.
komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)

Przykładowe błedy:

Ważność	Kod	Opis	Projekt	Plik	Wiersz	Stan pominięcia
Błąd (aktywny)	E0260	brak jawnego typu (przyjęto typ „int”)	my_first_sfml_game	D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\include\xtgmath.h	225	



Ważność	Kod	Opis	Projekt	Plik	Wiersz	Stan pominięcia
Błąd (aktywny)	E0441	brak listy argumentów dla elementu szablon zmiennej "std::_PGLOBAL"	my_first_sfml_game	D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\include\xlocmon	1017	



Ważność	Kod	Opis	Projekt	Plik	Wiersz	Stan pominięcia
Błąd (aktywny)	E0135	element class "std::moneypunct<wchar_t, false>" nie ma składowej "intl"	my_first_sfml_game	D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\include\xlocmon	1031	



Ważność	Kod	Opis	Projekt	Plik	Wiersz	Stan pominięcia
Błąd (aktywny)	E0842	element constant "_Indexes1" nie jest używany lub nie można go określić na podstawie listy argumentów szablonu elementu szablon klasy "std::_Cat_sequences<std::index_sequence<<error>...>, std::index_sequence<<error>...>>"	my_first_sfml_game	D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\include\tuple	1082	

 

komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)
Ciężko powiedzieć, o co chodzi. Na którą wersję toolsetu przełączyłeś? Jaki jest ustawiony standard C++?
komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)

Visual Studio 2017 (v141)

komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)
Sprawdź ten standard jeszcze (chyba w C/C++) .
komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)
Standard ustawiony mam na : Najnowszy Standard ISO C++. Dodatkowo do wyboru mam jeszcze C++ 14 i C++ 17 próbowałem na wszystkich 3 i na żadnym nie działa.
komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)
Przed każdą próbą wyczyść projekt, by wszystko zbudowało się od nowa.

Sprawdź też, czy zupełnie nowy projekt po ustawieniu innego niż domyślny toolsetu kompiluje się.
komentarz 29 lipca 2021 przez tonn204 Mądrala (7,440 p.)
Wydaje mi się, że powinieniem użyć standardu C++ 15 bo tak jest napisane na stronie biblioteki. Jak mam go zainstalować z poziomu VS 2019?
komentarz 29 lipca 2021 przez j23 Mędrzec (194,920 p.)
Nie ma standardu C++15. Jest C++11/14/17/20 (wcześniejszych nie wspominam).

Próbowałeś zrobić nowy projekt z ustawionym toolsetem na 2017?
komentarz 30 lipca 2021 przez tonn204 Mądrala (7,440 p.)

Zrobiłem wszysto według tego poradnika i wszystko działa,lecz tylko w trybie relese ale jestem zadowolony dziękuję za pomoc.

komentarz 30 lipca 2021 przez j23 Mędrzec (194,920 p.)

Dla wersji debug powinieneś załączyć biblioteki skompilowane dla tego trybu, czyli z -d w nazwie.

1 odpowiedź

0 głosów
odpowiedź 30 kwietnia 2022 przez Fukurou Nowicjusz (140 p.)
Miałem dokładnie ten sam problem. Milion razy musiałem wyłączać program bo sie zawieszał przez to. Wystarczyło dodać -d do plików w konsolidatorze w danych wejściowych dla debug:

sfml-system-d.lib
sfml-window-d.lib
sfml-graphics-d.lib

Podobne pytania

0 głosów
2 odpowiedzi 741 wizyt
pytanie zadane 5 stycznia 2019 w C i C++ przez NewUser1 Nowicjusz (210 p.)
0 głosów
1 odpowiedź 134 wizyt
pytanie zadane 20 marca 2020 w C i C++ przez Kondz10 Początkujący (270 p.)
0 głosów
1 odpowiedź 206 wizyt

92,555 zapytań

141,402 odpowiedzi

319,539 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...