sdl - 在 SDL 2 中重定向输出

标签 sdl sdl-2

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

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

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

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

最佳答案

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

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

replace the default log output function with one of your own

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

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

请参阅链接文档了解更多详细信息。

关于sdl - 在 SDL 2 中重定向输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20074939/

相关文章:

sdl - 什么是SDL中的Blit?

c++ - CMake 禁用库的所有选项

c++ - BPP 颜色变化 SDL

c - 在 SDL 2.0 中可视化 2D GSL 矩阵

electron - 具有SDL的macOS上的 Electron 优先级高DPI支持

c++ - 设置像素格式并在 SDL 中从表面创建纹理

c++ - 绘制小 map (游戏)

C++ SDL 在 '-' token 之前预期的不合格 ID

linux - 为什么 SDL 在 Linux (PocketCHIP) 上检测不到我的 iBuffalo 游戏 Controller ?

c++ - 调用 TTF_OpenFont 时出现奇怪的段错误