SFML - Ошибка проверки времени выполнения # 2 - стек вокруг переменной поврежден, происходит каждый раз, когда я запускаю программу - PullRequest
0 голосов
/ 29 января 2019

Я использую Visual Studio 2017, я установил компоновщики, включает в себя как конфигурации отладки, так и выпуска.Каждый раз, когда я пытаюсь запустить код, он генерирует исключения из поврежденных стеков вокруг различных переменных.Будь то «настройки», «окно» и т. Д.

Я запустил два кода, оба с одинаковыми результатами:

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

int main()
{

    sf::ContextSettings settings;

    settings.majorVersion = 3;
    settings.minorVersion = 3;
    settings.depthBits = 24;    
    settings.antialiasingLevel = 16;

    sf::RenderWindow window(sf::VideoMode(800, 600), "Game", sf::Style::Default);

    window.setActive(true);    
    window.setFramerateLimit(60);

    while (window.isOpen())
    {
        window.clear(sf::Color::Black);
        window.display();

        sf::Event ev;
        while (window.pollEvent(ev))
        {
            if (ev.type == sf::Event::Closed || sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
            {
                    window.close();
            }
        }
    }
    return 0;
}

И второй:

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

int main()
{
    using namespace sf;
    RenderTexture texture;
    texture.create(800, 600);
    texture.clear(Color::Black);
    texture.display();
    texture.getTexture().copyToImage().saveToFile("D:\output\asd.bmp");

    return 0;
}

Оба кода выдают похожие исключения, первая программа выдает:

Ошибка проверки времени выполнения # 2 - стек вокруг переменной 'settings' поврежден.

Ошибка проверки времени выполнения# 2 - Стек вокруг переменной 'window' был поврежден.

Второй бросает

Ошибка проверки во время выполнения # 2 - Стек вокруг переменной 'texture'был поврежден.

Когда я нажимаю «продолжить» в отладчике, он указывает на gs_report с необработанным исключением:

Необработанное исключение в 0x00A36859 в Project2.exe: стек cookieкод инструментария обнаружил переполнение буфера в стеке.

Что-то не так с кодами или что-то не так в моих настройках?

...