我试图在Visual Studio 2019中使用SDL,但我的程序仅显示一个空控制台。目前,我只希望能够使用SDL库编译程序。
#include <iostream>
#include <SDL.h>
int main(int argc, char** argv)
{
std::cout << "yee haw!" << std::endl;
return 0;
}
这段代码只是给我一个带有文本的控制台:
(进程32)以代码0退出。 要在调试停止时自动关闭控制台,请启用工具->选项->调试->在调试停止时自动关闭控制台。 按任意键关闭此窗口。 。
我要在哪里“哇!”在它之前。
当我取出#include <SDL.h>
(但我想要SDL.h)时,它工作正常。
我听说SDL现在重定向到stdout.txt文件,但在任何地方都找不到。我也尝试过用我找到的教程中的代码显示一个窗口,但这也给了我一个空的控制台。
我正在Windows和SDL 2.0.9上使用Visual Studio 2019
谢谢!
答案 0 :(得分:0)
默认情况下,SDL使用宏技巧来代替main
函数。用户定义的main
函数必须采用以下格式:
int main(int argc, char** argv)
{
// whatever
return 0;
}
或者,如果您不希望出现这种情况,则可以使用SDL_SetMainReady
。
#define SDL_MAIN_HANDLED
#include <SDL.h>
int main()
{
SDL_SetMainReady();
// whatever
return 0;
}