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