Почему вылазит ошибка при загрузке изображения с sfml?

Рейтинг: 1Ответов: 1Опубликовано: 28.03.2015

Пытаюсь в sfml загрузить изображение, но при запуске возникает такая вот ошибка: Необработанное исключение в "0x60811f34" в "Dark_Silence.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00211000"..

Вот код:

#include <SFML/Graphics.hpp>
#include <iostream>

using namespace sf;
using namespace std;

int main(){
    RenderWindow window(VideoMode(680, 200), "Dark Silence");

    Image heroimage; //создаем объект Image (изображение)
    heroimage.loadFromFile("images/hero.png");//загружаем в него файл

    Texture herotexture;//создаем объект Texture (текстура)
    herotexture.loadFromImage(heroimage);//передаем в него объект Image (изображения)

    Sprite herosprite;//создаем объект Sprite(спрайт)
    herosprite.setTexture(herotexture);//передаём в него объект Texture (текстуры)
    herosprite.setPosition(50, 25);

    while(window.isOpen()){
        Event ev;

        while(window.pollEvent(ev)){
            if(ev.type == Event::Closed){
                window.close();
            }
        }

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

Ответы

▲ 1

Возможно проблема в том что не вызван метод setActive после создания RenderWindow. Примерно так:

sf::ContextSettings contextSettings;
contextSettings.depthBits = 32;
sf::RenderWindow window(sf::VideoMode(800, 600), "Window", sf::Style::Default, contextSettings);
//Activate or deactivate the window as the current target
///        for OpenGL rendering
window.setActive();

Проблема возможно возникла при создании OpenGL текстуры т.к. контекст не привязан к данному окну.