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

SFML c++ Wczytywanie Objektów

Object Storage Arubacloud
0 głosów
661 wizyt
pytanie zadane 30 grudnia 2021 w C i C++ przez Wiktor51207 Początkujący (380 p.)

Gdy próbuje wczytać objek do programu wyskakuje błąd : 

Nieobsłużony wyjątek w lokalizacji 0x00007FFFC901146C (vcruntime140.dll) w SFML Visual.exe: 0xC0000005: Naruszenie zasad dostępu podczas odczytywania w lokalizacji 0x000000C21CF00000.

Zastanawiam się co jest nie tak chodzi mi np o miejsce docelowe tego pliku png czy może konfiguracja SFML ??

#include <SFML/Graphics.hpp>
#include <iostream>
using namespace std;
using namespace sf;

int main()
{
	RenderWindow window(VideoMode(600, 600), "SFML works !");

	Texture texture;

	texture.loadFromFile("images/Imag.png");
	

	Sprite sprite;
	sprite.setTexture(texture);
	while (window.isOpen())
	{
		Event event;
		while (window.pollEvent(event))
		{
			if (event.type = Event::Closed)
			{
				window.close();
			}
			window.clear();
			window.draw(sprite);
			window.display();
		}
	}
	return 0;
}

 

komentarz 31 grudnia 2021 przez Nabuchadonozor Gaduła (3,120 p.)

Dawno już nie kodziłem w C++ i podejrzewam, że masz problem inny niż czuję, że widzę, ale napiszę co przyuważyłem - we 22 linijce masz w if'ie znak przypisania, w sensie "=", a chyba powinny być dwa takie znaki podczas porównywania, jak w językach, w których aktualnie się dokształcam. Jednakże takie przypisywanie też jest możliwe w if'ie, ale nie pamiętam żebym kiedyś go używał w C++. A nawet jeśli to jest błąd, to jest jeszcze jakiś wcześniejszy, bo tak to by raczej inny opis błędu był.

komentarz 31 grudnia 2021 przez Nabuchadonozor Gaduła (3,120 p.)

vcruntime140.dll - napisałem kiedyś program będący bazą danych haseł do różnych kont w C++, teraz nie mogę odpalić tego programu, bo po formacie nie pobrałem Visual Studio całego, tylko sam Visual Studio Code, przez co nie mam pobranych wszystkich plików potrzebnych do uruchomienia tego mojego programu. Może też nie masz zainstalowanego/poprawnie podłączonego czy coś takiego tego vcrun..., przez co Ci nie chce zadziałać. 

komentarz 31 grudnia 2021 przez toko Dyskutant (7,670 p.)

Ciekawą rzeczą jest to, że program się nigdy nie zamknie. Event::Closed ma wartość zero, więc operator= zwróci zero i if się nie wykona. Popieram @Nabuchadonozor, to musi być jakiś błąd związany z bibliotekami lub środowiskiem. Może nie dodałeś jakiejś biblioteki, potrzebnej do uruchomienia? Może środowisko jest żle skonfigurowane? Raczej nie jest to kwestia obrazka, u mnie nawet jak obrazek nie istnieje, to sfml tylko wypisuje co takiego:

Failed to load image "ścieżka do obrazka". Reason: Unable to open file

i nic więcej się nie dzieje, po prostu textura jest pusta. Możesz jeszcze sprawdzić, czy program wogóle się zaczyna wykonywać, np. dodając na samym początku cout << "blablabla", jeśli się wypisze, to znaczy, że coś jest raczej źle z programem, albo biblioteką (w sensie źle ją używasz lub potrzebuje jakichś uprawnień, albo nie ma dostępu do pliku), a jeśli nie, to na 99% jest coś z konfiguracją lub linkowaniem.

komentarz 31 grudnia 2021 przez Wiktor51207 Początkujący (380 p.)
Dzięki mam nadzieje że to pomoże

1 odpowiedź

0 głosów
odpowiedź 31 grudnia 2021 przez Nabuchadonozor Gaduła (3,120 p.)

"SFML Visual.exe: 0xC0000005: Naruszenie zasad dostępu podczas odczytywania w lokalizacji 0x000000C21CF00000." - może to oznacza, że jakieś pliki potrzebne do odpalenia tego programu są zainstalowane w miejscu, gdzie z poziomu Twojego środowiska nie masz praw dostępu. Może nadaj mu większe uprawnienia.

komentarz 31 grudnia 2021 przez Wiktor51207 Początkujący (380 p.)
A wiesz w jaki sposób to zrobić w Visual Studio ?

Podobne pytania

0 głosów
1 odpowiedź 754 wizyt
pytanie zadane 19 listopada 2016 w C i C++ przez dorgovor Użytkownik (580 p.)
0 głosów
2 odpowiedzi 331 wizyt
pytanie zadane 19 sierpnia 2015 w C i C++ przez kacperszo Użytkownik (860 p.)
0 głosów
1 odpowiedź 330 wizyt
pytanie zadane 14 maja 2018 w C i C++ przez Emil Panecki Bywalec (2,100 p.)

92,551 zapytań

141,400 odpowiedzi

319,531 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!

...