使用 SDL_CreateWindow 时出现 SDL OpenGL 分段错误
SDL OpenGL segmentation fault when using SDL_CreateWindow
我有一个奇怪的问题突然出现在我正在处理的所有项目中。我正在使用 C++、SDL2 和 OpenGL,在我的 int main 中发生的第一件事就是创建一个带有 OpenGL 标志的 SDL window,如下所示:
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 更改为其他任何内容,它确实会创建一个 window 但显然很快就会失败,因为缺少 OpenGL 上下文来做任何事情。我已经删除了除 SDL 和 OpenGL 初始化内容之外的所有代码,但它仍然因段错误而失败。
这个问题从今天开始出现在共享相同基本 int 主结构的两个项目中。这让我相信这不是代码问题(主要是因为代码实际上并没有改变),而是我的设置/环境出了问题。到目前为止,我已经尝试了以下无济于事:
- 重新下载最新的 SDL 库
- 重新下载了最新的 GLEW 库
- 重新安装代码块
关于 a) 可能导致此问题的原因和 b) 我应该从哪里着手解决它的任何想法?
谢谢
内森
就像生活中的许多其他问题一样,答案原来是司机。 system-wide 某种更新干扰了图形渲染任何类型 OpenGL 的能力。直接下载并安装最新的图形驱动程序修复了它。
我有一个奇怪的问题突然出现在我正在处理的所有项目中。我正在使用 C++、SDL2 和 OpenGL,在我的 int main 中发生的第一件事就是创建一个带有 OpenGL 标志的 SDL window,如下所示:
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 更改为其他任何内容,它确实会创建一个 window 但显然很快就会失败,因为缺少 OpenGL 上下文来做任何事情。我已经删除了除 SDL 和 OpenGL 初始化内容之外的所有代码,但它仍然因段错误而失败。
这个问题从今天开始出现在共享相同基本 int 主结构的两个项目中。这让我相信这不是代码问题(主要是因为代码实际上并没有改变),而是我的设置/环境出了问题。到目前为止,我已经尝试了以下无济于事:
- 重新下载最新的 SDL 库
- 重新下载了最新的 GLEW 库
- 重新安装代码块
关于 a) 可能导致此问题的原因和 b) 我应该从哪里着手解决它的任何想法?
谢谢
内森
就像生活中的许多其他问题一样,答案原来是司机。 system-wide 某种更新干扰了图形渲染任何类型 OpenGL 的能力。直接下载并安装最新的图形驱动程序修复了它。