У меня есть следующий код:SFML ошибка LoadFromFile()
#include <SFML\Graphics.hpp>
#include <iostream>
int main(int argc, char* argv[])
{
sf::RenderWindow window(sf::VideoMode(640, 480), "SFML Render");
sf::Image image;
sf::Texture texture;
sf::Sprite sprite;
image.loadFromFile("D:/Project/Sprites/bt1.png");
texture.loadFromImage(image);
sprite.setTexture(texture);
sprite.setPosition(100.0f, 100.0f);
sf::Event event;
while (window.isOpen())
{
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(sprite);
window.display();
}
return 0;
}
Это очень просто, но это не сработало.
Я пробовал использовать различные виды путей:
D:/Project/CPP/Game_Engine/Debug/sprites/first.bmp
D:\\Project\\CPP\\Game_Engine\\Debug\\sprites\\first.bmp
d:\\Project\\CPP\\Game_Engine\\Debug\\sprites\\first.bmp
Затем я попытался с помощью различных файлов:
D:/Project/Sprites/bt.png
D:/Project/Sprites/anim.bmp
D:/Project/Sprites/boy.jpg
Компилятор указывает на следующую строку:
image.loadFromFile("D:/Project/Sprites/bt1.png");
Точнее, Сбой программы на этой линии.
Моя конфигурация выглядит следующим образом:
Ошибка/сбой сообщение следующее:
Необработанное исключение по адресу 0x5007DEF8 (msvcr110.dll) в SFML_ERROR.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x03BC1000.
Перевод следующий:
Необработанное исключение в 0x5007DEF8 (msvcr110.dll) в SFML_ERROR.exe: нарушение доступа чтения на Адрес 0x03BC1000: 0xC0000005.
Не могли бы вы вывести текст (можно выбрать, если есть) сообщения об ошибке/сбое? –
«Функция loadFromFile иногда терпит неудачу без очевидной причины. Сначала проверьте сообщение об ошибке, напечатанное SFML в стандартном выпуске (проверьте консоль)». - Какое сообщение печатается? –
Я не могу использовать 'sf :: err', программа вылетает точно на loadFromFile(), поэтому следующая строка не выполняется. Сообщение об ошибке/сбое выше. – Ivan