SFML-RenderWindow ошибки во время выполнения со всем

Для почти всех объектов, которые я добавил До сих пор (sf::Color, sf::Image, sf::Texture и т.д.) к образцу кода, который я схватил с сайта SFML, исключения выбрасываются, как только я запускаю его, к согласию:

Необработанное исключение при 0x61C71B86 (sfml-system-2.dll) в gameboiss.exe: 0xC0000005: нарушение прав доступа место чтения 0x00000074.

По какой-то причине он возник в связи с линией RenderWindow. Если я удаляю все линии, ссылающиеся на эти объекты, это работает штрафы. Даже если я оставляю только одну строку, создающую переменную (т. е. SF::Texture texture), исключение все равно создается. Я пробовал несколько вещей среди глядя на местных жителей / авто в debug, и это, кажется, не дает много света.

Я работаю над Visual Studio 2012, любая помощь будет appreiciated. Ниже приведен код. спасибо 🙂

#include <iostream>

#include "SFML/Window.hpp"
#include "SFML/Graphics.hpp"
#include "SFML/System.hpp"

int main(){
sf::RenderWindow window(sf::VideoMode(200,200), "game boi");
sf::CircleShape shape(100.f);

//source of error
sf::Texture texture;
texture.loadFromFile("charspartapix.png");

/*if(!hero.loadFromFile("charspartapix.png")){
std::cerr << "Error: sprite not loaded.n";
return 1;
}*/

//sf::Image background;
//if (!background.loadFromFile("background.jpg"))
//return -1;

shape.setFillColor(sf::Color::Blue);

sf::Vector2i pos;

while (window.isOpen()){

sf::Event event;
while (window.pollEvent(event)){

if (event.type == sf::Event::Closed)
window.close();
if (event.type == sf::Event::GainedFocus)
std::cout << "playing";
if (event.type == sf::Event::LostFocus)
std::cout << "notplayingn";
if (event.type == sf::Event::MouseButtonPressed){
sf::Vector2i pos = sf::Mouse::getPosition(window);
std::cout << pos.x << " " << pos.y << std::endl;
}
if (event.type == sf::Event::KeyPressed){
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)){

}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){

}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)){
window.close();
}
}
}

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

return 0;
}
<code>

1 ответ

  1. Я согласен с RetiredNinja комментарий выше: если это произойдет, как только вы создать рендер окно, это скорее всего какой стл версии разница (из переданной строки; поскольку sf::String является частью сфмл-система), это обычно в случае, когда вы перепутайте версии (визуальный студийных релизов или релиз/отладка сборках).

    Вы уверены, что выбрали правильную загрузку со страницы загрузки SFML ? В качестве альтернативы можно попробовать загрузить и скомпилировать SFML из официального репозитория .