首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将SDL1.2 SDL_GetWMInfo更新为SDL2 SDL_GetWindowWMInfo

将SDL1.2 SDL_GetWMInfo更新为SDL2 SDL_GetWindowWMInfo
EN

Stack Overflow用户
提问于 2016-11-17 02:28:19
回答 1查看 895关注 0票数 0

我正在尝试将DOSBox的自定义版本中的一些C++代码从SDL1.2更新为SDL2。让我感到困惑的是以下几行:

代码语言:javascript
运行
复制
SDL_SysWMinfo systemInfo; 
SDL_VERSION(&systemInfo.version);

if(SDL_GetWindowWMInfo(window, &systemInfo) !=1) return;
if (!::OpenClipboard(systemInfo.info.win.window)) return;

在SDL_syswm.h中,SDL_GetWindowWMInfo是这样定义的:

代码语言:javascript
运行
复制
typedef struct SDL_SysWMinfo SDL_SysWMinfo;
extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window, SDL_SysWMinfo * info);

当我尝试在Visual Studio 2010中构建时,我得到了这个错误,上面代码中的第三行抛出了这个错误:

代码语言:javascript
运行
复制
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

但我是一个初学者,不知道如何将其应用到我自己的代码中。如果有人愿意帮助一个完全的初学者,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-11-18 10:27:21

通过添加第一行即可解决(如SDL wiki中所述):

代码语言:javascript
运行
复制
SDL_Window* window;
SDL_SysWMinfo systemInfo; 
SDL_VERSION(&systemInfo.version);

if(SDL_GetWindowWMInfo(window, &systemInfo) !=1) return;
if (!::OpenClipboard(systemInfo.info.win.window)) return;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40639599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档