我在我的项目中使用SDL库,而我正在使用Windows平台。
当我决定将项目移至SDL 2时,我遇到了一个问题:
SDL 1.2中有一个选项可以将stdout / stderr的输出打印到控制台窗口,而不是通过定义NO_STDIO_REDIRECT
宏来打印文件。但是,我没有在SDL 2中找到该宏。
有没有办法将SDL 2输出打印到控制台而不是标准文件?
答案 0 :(得分:5)
我怀疑NO_STDIO_REDIRECT
不再是SDL2的一部分。
您应该使用SDL_Log
和所有其他相关功能来记录应用程序中的消息
然后,您可以使用SDL_LogSetOutputFunction
:
用您自己的
替换默认日志输出功能
请注意,您可以优雅地处理任何给定的类别或优先级,作为下面的处理程序的原型:
void SDL_LogOutputFunction(void* userdata,
int category,
SDL_LogPriority priority,
const char* message)
请参阅链接文档以获取更多详细信息。