首页 > 解决方案 > SDL_GetWindowID 总是返回 1

问题描述

在 Mac (10.14.6) 上运行此代码时,它总是打印窗口 id 为 1。我正在创建多个窗口,每个进程一个窗口。我究竟做错了什么?在 Linux 上,我得到了很大的唯一 ID(大约 6 位数)

SDL_Init(SDL_INIT_VIDEO)
SDL_Window *window = SDL_CreateWindow(
    "cool_title", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width,
    height, SDL_WINDOW_RESIZABLE);
printf("Created window with id %d\n", SDL_GetWindowID(window));

标签: sdlsdl-2

解决方案


我弄错了——这发生在 Mac 和 Linux 上。SDL_GetWindowID 将为每个进程的第一个窗口返回 1,并为每个新窗口增加 1。


推荐阅读