#c #visual-studio #runtime-error #sfml
#c #visual-studio #время выполнения — ошибка #sfml
Вопрос:
Привет, я новичок в использовании библиотеки SFML, я хочу показать изображение с использованием библиотеки SFML, но получаю ошибку «0xC0000005: местоположение чтения с нарушением доступа» в следующем коде: я добавил файл png в расположение проекта, но код все равно не работает
#include <SFML/Graphics.hpp>
#include<iostream>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::Texture t1;
std::cout << "load enemy texture" << std::endl;
//system("dir");
if (!t1.loadFromFile("test.jpg")) {
std::cout << "Could not load enemy texture" << std::endl;
return 0;
}
sf::Sprite enemySprite;
enemySprite.setTexture(t1);
enemySprite.setPosition(sf::Vector2f(100, 100));
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(enemySprite);
window.display();
}
return 0;
}
Комментарии:
1. 1. Вы не включаете какую-либо библиотеку SFML. 2. Вы забыли пробел раньше
<iostream>
(иногда это приводит к ошибкам)2. @Migue Спасибо за ваш комментарий, я уже добавил библиотеку sfml в класс, но при добавлении вопроса эта часть не была включена из-за отсутствия свободного места. Я также выполнил настройку в соответствии с документацией sfml
3. вы тоже добавили пробелы?
4. @Miguel да, но пробел ни на что не влияет
5. Вы пытались запустить отладчик, чтобы узнать, где происходит сбой?
Ответ №1:
как ссылка, предложенная @Yksisarvinen в комментарии, переключение конфигурации на Release внезапно заставило все работать.
Чтобы заставить конфигурацию отладки работать, мне просто нужно было изменить имена из sfml-graphics.lib в sfml-graphics-d.lib (и так далее).
Спасибо, ребята.
Комментарии:
1. Я рад, что вы получили свое решение, и спасибо за то, что поделились, я был бы признателен, если бы вы отметили их как ответ, и это будет полезно для другого сообщества.