使用SDL_CreateWindow时SDL OpenGL分段错误

时间:2017-03-27 13:34:19

标签: c++ opengl sdl-2

我有一个奇怪的问题突然出现在我正在研究的所有项目中。我正在使用C ++,SDL2和OpenGL,我的int main中发生的第一件事就是使用如下的OpenGL标志创建一个SDL窗口:

int main( int argc, char* args[] )
{
    //Minor stuff here e.g. initialising SDL
    mainwindow = SDL_CreateWindow("...", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_OPENGL);
}

由于某种原因,这已经开始导致分段错误。如果我将标志从SDL_WINDOW_OPENGL更改为其他任何内容,它确实会创建一个窗口,但很快就会失败,因为缺少OpenGL上下文来执行任何操作。除了SDL和OpenGL初始化之外,我已经删除了所有代码,但它仍然因为段错误而失败。

此问题从今天开始,共享两个共享相同基本int主结构的项目。这让我相信它不是代码问题(主要是因为代码实际上没有改变),但是我的设置/环境出错了。到目前为止,我已经尝试了以下无效:

  • Redownloaded最新的SDL库
  • Redownloaded最新的GLEW库
  • 重新安装的代码块

a)可能导致这种情况的任何想法以及b)我应该开始寻找解决方法吗?

由于

1 个答案:

答案 0 :(得分:0)

和生活中的许多其他问题一样,答案竟然是司机。某种类型的系统范围的更新干扰了图形渲染任何类型的OpenGL的能力。直接下载并安装最新的图形驱动程序修复它。