【发布时间】:2017-03-31 02:12:43
【问题描述】:
我正在尝试将自定义版本的 DOSBox 中的一些 C++ 代码从 SDL1.2 更新到 SDL2。让我困惑的台词是:
SDL_SysWMinfo systemInfo;
SDL_VERSION(&systemInfo.version);
if(SDL_GetWindowWMInfo(window, &systemInfo) !=1) return;
if (!::OpenClipboard(systemInfo.info.win.window)) return;
SDL_GetWindowWMInfo 在 SDL_syswm.h 中是这样定义的:
typedef struct SDL_SysWMinfo SDL_SysWMinfo;
extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window, SDL_SysWMinfo * info);
当我尝试在 Visual Studio 2010 中构建时,我收到此错误,由上面代码中的第三行抛出:
1> sdlmain.cpp
1>..\src\gui\sdlmain.cpp(2966): error C2065: 'window' : undeclared identifier
我想答案就在这里:
https://gamedev.stackexchange.com/questions/82068/how-can-i-obtain-a-window-handle-in-sdl-2-0-3
但我是初学者,不知道如何将其适应我自己的代码。如果有人愿意帮助一个完整的初学者,我将不胜感激。
【问题讨论】:
-
the wiki page for
SDL_GetWindowWMInfo()有什么不清楚的地方? -
@emendelson 您不会在 cmets 中进行换行,但您可以编辑自己的问题以包含其他信息。 “Curly red inderscore”没有描述任何内容,实际的错误信息是什么?您的
window是在哪里(以及如何)定义的? (而且你不能使用任何未声明的东西) -
我用从那以后学到的东西重写了我的问题。再次感谢您的帮助。