C ++图形库的访问冲突

Access violation on c++ graphics library

我正在尝试启动一个项目,该项目将具有用于表示某些数据的基本图形显示。为此,我最初打算使用 SFML,因为我已经使用过它并取得了很大的成功。

但是,在重复我之前在以前的项目中使用的教程之后 http://gamecodeschool.com/sfml/building-your-first-sfml-game-project/ 来设置基本的 linkages/compiler 设置,我在 window.display() 该行表示这是访问冲突。我已经在网上搜索并查看了各种答案,并仔细检查无济于事:

  1. 使用调试库
  2. 使用 32 位版本。
  3. 正确的链接器输入

我放弃并决定尝试 SDL,但是在遵循 T 的教程后,提供的测试代码可以初始化所有模块,我尝试了一些基本的游戏循环代码(在屏幕上绘制一个矩形)和在 SDL_RenderPresent(renderer) 上以几乎相同的方式获得了另一个访问冲突,也就是在 SDL 版本中呈现与 SFML 相同的函数。

因此,我认为存在一些潜在的问题,这意味着每当我尝试更新屏幕时,我的计算机都会抛出错误。自从我上次使用 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/ 复制了它 (页面底部)

所以在查看导致问题的 dll 之后 ig9icd32.dll,它似乎是一个 OPENGL 组件。所以我重新安装了图形驱动程序,一切似乎都在工作!