Перенаправление вывода в SDL 2

Я использую библиотеку SDL в своем проекте и работаю на платформе Windows.

Когда я решил переместить свой проект в SDL 2, я столкнулся с проблемой:

В SDL 1.2 была возможность печатать вывод из stdout/stderr в окно консоли, а не в файлы, определяя NO_STDIO_REDIRECT макро. Тем не менее, я не нашел этот макрос в SDL 2.

Есть ли способ распечатать вывод SDL 2 на консоль вместо стандартных файлов?

1 ответ

Решение

Я подозреваю что NO_STDIO_REDIRECT больше не является частью SDL2.

Вы должны использовать вместо SDL_Log и все другие связанные функции для регистрации сообщений из вашего приложения.
Тогда вы можете использовать SDL_LogSetOutputFunction чтобы:

замените функцию вывода журнала по умолчанию на одну из ваших собственных

Обратите внимание, что вы можете изящно обрабатывать любую данную категорию или приоритет, являясь прототипом обработчика, приведенного ниже:

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

Пожалуйста, обратитесь к связанной документации для получения дополнительной информации.

Другие вопросы по тегам