Нарушение прав доступа к графической библиотеке c ++ - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь запустить проект, который будет иметь базовый графический дисплей для представления некоторых данных.Для этого я изначально собирался использовать SFML, поскольку я уже использовал его и имел большой успех.

Однако после повторения учебника, который я использовал ранее в предыдущих проектах от http://gamecodeschool.com/sfml/building-your-first-sfml-game-project/, чтобы настроить базовые настройки компоновки / компилятора, я получаю сообщение об ошибке на window.display()линия говорит, что это нарушение доступа.Я просмотрел сеть, просмотрел все виды ответов и дважды проверил безрезультатно:

  1. Использование библиотеки отладки
  2. Использование 32-битной версии.
  3. Правильные входы компоновщика

Я сдался и решил попробовать SDL, однако после того, как также после обучения T, где работал поставляемый тестовый код, который инициализировал все модули, я попробовал несколькоосновной код игрового цикла (рисует прямоугольник на экране) и получил еще одно нарушение доступа почти идентичным образом на SDL_RenderPresent(renderer), то есть та же функция для рендеринга в версии SDL, что и SFML.

I, поэтомуЯ думаю, что есть какая-то основная проблема, которая имеет значение всякий раз, когда я пытаюсь обновить экран, на котором мой компьютер выдает ошибку.Единственное, что изменилось с тех пор, как я в последний раз использовал SFML, - это то, что я сейчас использую монитор, подключенный к ноутбуку через док-станцию, но я не понимаю, как это может повлиять на ситуацию.

У кого-либо был опытс этим?

Код из двух ситуаций ниже:

РЕДАКТИРОВАТЬ SFML:

#include <SFML/Graphics.hpp>

int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);

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

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

return 0;}

SDL: более 150 строк, но я скопировал его прямо с http://headerphile.com/sdl2/sdl2-part-3-drawing-rectangles/ (внизу страницы)

1 Ответ

0 голосов
/ 07 октября 2018

Итак, после изучения dll, которая вызвала проблему ig9icd32.dll, она оказалась компонентом OPENGL.Поэтому я переустановил графические драйверы, и все, кажется, работает!

...