Opengl es 覆盆子皮罐头上的SDL2';t创建渲染器:";OpenGL上下文已创建;

Opengl es 覆盆子皮罐头上的SDL2';t创建渲染器:";OpenGL上下文已创建;,opengl-es,raspberry-pi,sdl-2,Opengl Es,Raspberry Pi,Sdl 2,我使用本教程中的资源在raspberry pi上设置了SDL2:我让它编译并运行。但是当它到达需要设置渲染器的点时,我得到一个空的返回值 关于这个问题的公认答案表明错误“OpenGL上下文已经创建”是错误的,并且OpenGL上下文根本没有被创建。这意味着我的OpenGL已经坏了。Raspberry Pi使用OpenGL ES,据我所知,SDL足够聪明,可以使用GLES而不是GL?我想知道是否有其他人有过这种问题,是否有已知的解决方法 这是我的代码: #include <SDL2/SDL.h

我使用本教程中的资源在raspberry pi上设置了SDL2:我让它编译并运行。但是当它到达需要设置渲染器的点时,我得到一个空的返回值

关于这个问题的公认答案表明错误“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;
    }
}
#包括
const char*WINDOW_TITLE=“steel”;
int main(int argc,字符**argv){
SDL_Window*Window=NULL;
SDL_渲染器*渲染器=NULL;
SDL_Init(SDL_Init_EVERYTHING);
//设置窗口
window=SDL\u CreateWindow(
窗口标题,//标题
SDL\u窗口位置\u居中,//x位置
SDL\u窗口位置\u居中,//y位置
0,//宽度
0,//高度
SDL(窗口、全屏、桌面);
如果(窗口==NULL){
printf(“无法创建窗口%s\n”,SDL_GetError());
返回1;
}
//设置渲染器
渲染器=SDL_CreateRenderer(窗口,0,0);
if(渲染器==NULL){
printf(“无法创建渲染器%s\n”,SDL_GetError());
返回1;
}
}

根据文档,您应该为其第二个参数指定-1,以请求支持所请求标志的第一个渲染驱动程序。索引0处的一个可能不正确。

不确定这是否与您的问题有关,但您应该尝试使用
SDL\u CreateRenderer(window,-1,0)
,正如文档所述,如果您通过-1,它将尝试支持您请求的标志的第一个渲染驱动程序。索引0处的可能不是正确的。这个评论只是一个长篇大论:P我没有一个Pi来实际测试它。我今天下午回家后会试试。如果有帮助,我会告诉你的!成功了!我把国旗改成了-1,一切都很好。@Leonardo,如果你把它作为一个答案,我会把它标记为接受,因为你从技术上解决了我的问题。谢谢!我很高兴这有帮助!