C ++图形库的访问冲突
Access violation on c++ graphics library
我正在尝试启动一个项目,该项目将具有用于表示某些数据的基本图形显示。为此,我最初打算使用 SFML,因为我已经使用过它并取得了很大的成功。
但是,在重复我之前在以前的项目中使用的教程之后
http://gamecodeschool.com/sfml/building-your-first-sfml-game-project/ 来设置基本的 linkages/compiler 设置,我在
window.display()
该行表示这是访问冲突。我已经在网上搜索并查看了各种答案,并仔细检查无济于事:
- 使用调试库
- 使用 32 位版本。
- 正确的链接器输入
我放弃并决定尝试 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 组件。所以我重新安装了图形驱动程序,一切似乎都在工作!
我正在尝试启动一个项目,该项目将具有用于表示某些数据的基本图形显示。为此,我最初打算使用 SFML,因为我已经使用过它并取得了很大的成功。
但是,在重复我之前在以前的项目中使用的教程之后
http://gamecodeschool.com/sfml/building-your-first-sfml-game-project/ 来设置基本的 linkages/compiler 设置,我在
window.display()
该行表示这是访问冲突。我已经在网上搜索并查看了各种答案,并仔细检查无济于事:
- 使用调试库
- 使用 32 位版本。
- 正确的链接器输入
我放弃并决定尝试 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 组件。所以我重新安装了图形驱动程序,一切似乎都在工作!