(Библиотека SFML) Конструктор RenderWindow создает исключение - PullRequest
0 голосов
/ 01 апреля 2020

Я начинаю работать с SFML с Visual Studio 2019. Я последовал этой инструкции и успешно запустил приложение. Но без каких-либо изменений в коде я запустил его еще раз, и он дает мне эту ошибку:

Exception thrown at 0x53582687 (sfml-system-2.dll) in Voidger.exe: 0xC0000005: Access violation reading location 0x0000016E. occurred

в этой строке:

RenderWindow window(VideoMode(200, 200), "SFML works!"); //not really

С тех пор, как приложение выдаст ту же ошибку и изредка создаст окно, если некоторые маги c помечаются звездочками. Когда я обнаружил ошибку, я попытался создать новый проект, но у него возникла проблема с компоновщиком, поэтому он был удален, поскольку другое приложение даже не запустилось.

Вот полный код (предоставляется на официальном сайте ):

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

using namespace sf;

int main()
{
    std::cout << "H\n";

    RenderWindow window(VideoMode(200, 200), "SFML works!"); // error line
    CircleShape shape(100.f);
    shape.setFillColor(Color::Green);

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

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

    return 0;
}

Самое смешное, что код всегда запускается, выводит h в cmd и чаще всего завершается с кодом -1073741819.

Редактировать: Здесь я использую настройки диспетчера конфигурации.

...