SDL 未打印到控制台

SDL not printing to console

本文关键字:控制台 打印 SDL      更新时间:2023-10-16

我正在尝试将SDL与Visual Studio 2019一起使用,但我的程序只显示一个空控制台。目前,我只想能够使用 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

谢谢!

默认情况下,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;
}