Я создал базовую программу SDL 2 C ++, которая создает окно и отображает изображение.Я использую Mac OS Mojave и Xcode.Все работает, но я получаю следующие сообщения об ошибках:
2018-12-28 11:49:38.602582-0700 SDLTest[76555:7241475] [SDLTest]
CGContextSetFillColorWithColor: invalid context 0x0. If you want to
see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE
environmental variable.
2018-12-28 11:49:38.602623-0700 SDLTest[76555:7241475] [SDLTest]
CGContextGetCompositeOperation: invalid context 0x0. If you want to
see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE
environmental variable.
2018-12-28 11:49:38.602640-0700 SDLTest[76555:7241475] [SDLTest]
CGContextSetCompositeOperation: invalid context 0x0. If you want to
see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE
environmental variable.
2018-12-28 11:49:38.602653-0700 SDLTest[76555:7241475] [SDLTest]
CGContextFillRects: invalid context 0x0. If you want to see the
backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental
variable.
2018-12-28 11:49:38.602666-0700 SDLTest[76555:7241475] [SDLTest]
CGContextSetCompositeOperation: invalid context 0x0. If you want to
see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE
environmental variable.
Ошибки создаются, когда я добавляю вызов SDL_CreateRenderer ().Они генерируются при запуске и снова при каждом изменении размера окна.
Я не нашел примеров SDL_CreateRenderer (), приводящих к этим ошибкам.Я слышал, что эти ошибки можно игнорировать, если все работает, но я бы предпочел разобраться с ними сейчас.
Есть идеи, что является причиной этих ошибок или как их устранить?
Мой код:
//Initialize SDL
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
cout << "SDL could not initialize: " << SDL_GetError();
}
//Create window
SDL_Window *window = NULL;
window = SDL_CreateWindow( "SDLTest",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
640, 480,
SDL_WINDOW_RESIZABLE |
SDL_WINDOW_ALLOW_HIGHDPI |
SDL_WINDOW_SHOWN);
if( window == NULL
{
cout << "Window could not be created: "
<< SDL_GetError() << endl;
}
//Create renderer - Errors appear after adding these lines
SDL_Renderer *renderer = NULL;
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
if (renderer == NULL )
{
cout << "Renderer could not be created: "
<< SDL_GetError() << endl;
}