C++ 在macOS中,SDL_窗口未以窗口模式显示

C++ 在macOS中,SDL_窗口未以窗口模式显示,c++,macos,sdl-2,C++,Macos,Sdl 2,运行以下代码时,除非在SDL\u CreateWindow中设置SDL\u window\u全屏,否则无法查看窗口。通过任何其他设置,我可以看到进程正在运行,但没有显示任何窗口。我希望能够创建一个带窗口的SDL\u窗口。我错过什么了吗 运行macOS Sierra,SDL v2.0.7 #include <SDL2/SDL.h> int main() { if (SDL_Init(SDL_INIT_VIDEO) != 0) { SDL_Log("Unable

运行以下代码时,除非在
SDL\u CreateWindow
中设置
SDL\u window\u全屏,否则无法查看窗口。通过任何其他设置,我可以看到进程正在运行,但没有显示任何窗口。我希望能够创建一个带窗口的
SDL\u窗口
。我错过什么了吗

运行macOS Sierra,SDL v2.0.7

#include <SDL2/SDL.h>

int main() {
    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
        SDL_Log("Unable to initialize SDL: %s", SDL_GetError());
        return 1;
    }

    SDL_Window *window = SDL_CreateWindow(
        "Title",
        SDL_WINDOWPOS_CENTERED,
        SDL_WINDOWPOS_CENTERED,
        640,
        800,
        SDL_WINDOW_SHOWN
    );

    if (window == NULL) {
        SDL_Log("Unable to create window: %s", SDL_GetError());
        return 1;
    }

    SDL_Delay(5000);

    // Cleanup.
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 0;
}
#包括
int main(){
如果(SDL_Init(SDL_Init_视频)!=0){
SDL_日志(“无法初始化SDL:%s”,SDL_GetError());
返回1;
}
SDL_Window*Window=SDL_CreateWindow(
“头衔”,
SDL_窗口位置居中,
SDL_窗口位置居中,
640,
800,
显示SDL_窗口
);
如果(窗口==NULL){
SDL_日志(“无法创建窗口:%s”,SDL_GetError());
返回1;
}
SDL_延迟(5000);
//清理。
SDL_窗口(窗口);
SDL_退出();
返回0;
}

能否尝试添加事件循环而不是SDL\U延迟

bool quit = false;                                      
SDL_Event e;                                            
while (!quit) {                                         
    while (SDL_PollEvent(&e)) {                         
        if (e.type == SDL_QUIT) {                       
            quit = true;                                
        }                                               
    }                                                   
}                                                       
所以现在我在我的Mac电脑上试过你的代码,但它确实没有显示窗口。您的代码没有给SDL足够的时间来显示屏幕,它只是进入睡眠状态并退出。事件循环显示一个非全屏非最大化窗口