gpt4 book ai didi

c++ - 如何将 Win32 合并到 SDL 项目中?

转载 作者:行者123 更新时间:2023-11-28 02:37:08 24 4
gpt4 key购买 nike

我使用 SDL 和 OpenGL 制作了一些软件,现在我想为输入添加一个图形界面,比如一些文本框和按钮。我意识到这可能必须在一个单独的窗口中,我不介意,但我不知道如何将 Win32 功能合并到我的项目中。我尝试从

更改我的主要功能的定义
int main(int argc, char **argv)
{
...
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance, LPSTR lpCmdLine, int cmdShow)
{
...
}

但我收到一条错误消息:

LNK2005: _WinMain@16 already defined in SDL2main.lib (SDL_windows_main.obj)
LNK2005: _WinMain@16 already defined in Source.obj
LNK2019: unresolved external symbol _SDL_main referenced in function _main

我使用的是 Visual Studio 2012。有没有办法解决这个问题,或者有没有其他方法可以用 C++ 创建表单?

谢谢

最佳答案

SDL 定义 main作为宏。这就像终极恐怖秀。混合 Microsoft 的 WinMain当然,怪异的做法似乎是合适的,但任何事情都不需要它。

相反,只需保留您的 main .

如果我决定使用 SDL(考虑到上述情况,我永远不会这样做),那么我首先会检查 SDL 在文本框和按钮等方面提供了什么。如果没有,则只包含 <windows.h>正确(首先定义 STRICTNOMINMAXUNICODE),然后使用 API。但为此,我建议首先通过创建一些没有干扰 SDL 的纯 API 程序来学习该 API。

关于c++ - 如何将 Win32 合并到 SDL 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27082881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com