我使用本教程中的资源在raspberry pi上设置SDL2:https://www.youtube.com/watch?v=Yo7hO7GZ-ug我让它编译并运行。但是当它到达需要设置渲染器的点时,我得到一个NULL返回值。
在这个问题上接受的答案表明错误“已经创建的OpenGL上下文”是欺骗性的,并且根本没有创建OpenGL上下文。这意味着我的OpenGL被破坏了。 Raspberry Pi使用OpenGL ES,据我所知,SDL足够聪明,可以使用GLES代替GL吗?我想知道是否有其他人遇到过这种问题,以及是否有一种已知方法可以解决这个问题。
这是我的代码:
#include <SDL2/SDL.h>
const char* WINDOW_TITLE = "steel";
int main(int argc, char** argv) {
SDL_Window* window = NULL;
SDL_Renderer* renderer = NULL;
SDL_Init(SDL_INIT_EVERYTHING);
// Setup window
window = SDL_CreateWindow(
WINDOW_TITLE, //Title
SDL_WINDOWPOS_CENTERED, // x pos
SDL_WINDOWPOS_CENTERED, // y pos
0, //width
0, //height
SDL_WINDOW_FULLSCREEN_DESKTOP);
if (window == NULL) {
printf("Could not create window %s\n", SDL_GetError());
return 1;
}
// Setup renderer
renderer = SDL_CreateRenderer(window, 0, 0);
if (renderer == NULL) {
printf("Could not create renderer %s\n", SDL_GetError());
return 1;
}
}