4

我在我的项目中使用 SDL 库,并且正在 Windows 平台上工作。

当我决定将我的项目迁移到 SDL 2 时,我遇到了一个问题:

SDL 1.2 中有一个选项可以将 stdout/stderr 的输出打印到控制台窗口,而不是通过定义NO_STDIO_REDIRECT宏来打印文件。但是,我还没有在 SDL 2 中找到该宏。

有没有办法将 SDL 2 输出打印到控制台而不是标准文件?

4

1 回答 1

8

我怀疑这NO_STDIO_REDIRECT不再是 SDL2 的一部分。

您应该改为使用SDL_Log所有其他相关函数来记录应用程序中的消息。
然后你可以使用SDL_LogSetOutputFunction

用您自己的一种替换默认的日志输出功能

请注意,您可以优雅地处理任何给定的类别或优先级,作为处理程序的原型,如下所示:

void SDL_LogOutputFunction(void*           userdata,
                           int             category,
                           SDL_LogPriority priority,
                           const char*     message)

请参阅链接的文档以获取更多详细信息。

于 2016-06-30T11:54:42.380 回答