0xC0000005: место чтения с нарушением доступа

#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. Я рад, что вы получили свое решение, и спасибо за то, что поделились, я был бы признателен, если бы вы отметили их как ответ, и это будет полезно для другого сообщества.