Dzień dobry
Co powoduje w tym kodzie Naruszenie Ochrony Pamięci?
#include <SFML/Graphics.hpp>
#include <string>
int main()
{
sf::ContextSettings ss;
ss.antialiasingLevel = 0;
sf::RenderWindow window(sf::VideoMode(1280, 720), "Window", sf::Style::Close, ss);
//window.setFramerateLimit(60);
sf::CircleShape circle;
circle.setRadius(50.f);
auto rect = circle.getGlobalBounds();
circle.setOrigin({ rect.width * 0.5f, rect.height * 0.5f });
sf::Font font;
font.loadFromFile("font.ttf");
sf::Text fpsText;
fpsText.setFont(font);
unsigned int doneFrames = 0;
sf::Clock fpsClock;
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
switch (event.type)
{
case sf::Event::Closed:
window.close();
break;
default: break;
}
}
if (fpsClock.getElapsedTime().asSeconds() >= 1.0f)
{
fpsText.setString(std::string("FPS: ") + std::to_string(static_cast<int>(static_cast<float>(doneFrames) / fpsClock.restart().asSeconds())));
doneFrames = 0;
}
doneFrames++;
auto mousePosition = static_cast<sf::Vector2f>(sf::Mouse::getPosition(window));
circle.setPosition(mousePosition);
window.clear(sf::Color(50, 50, 50));
window.draw(circle);
window.draw(fpsText);
window.display();
}
}
Kompiluję i odpalam w ten sposób:
g++-7 -std=c++17 -c main.cpp&&g++-7 main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system&&./sfml-app
Po zakończeniu programu w konsoli pisze mi ,,Naruszenie ochrony pamięci"
Dlaczego?