我在加载 SDL_TTF 字体时遇到问题。 我的代码:
TTF_Font* font = TTF_OpenFont( "Arial.ttf", 24 );
std::cout << "ERROR:" << TTF_GetError() << std::endl;
SDL_Color color = { 255, 255, 255, 255 };
SDL_Rect Message_Rect = { 400,400,100,100 };
SDL_Surface* surface = TTF_RenderText_Solid(font, "Text", color);
SDL_Texture* Message = SDL_CreateTextureFromSurface(Renderer, surface);
SDL_RenderCopy(Renderer, Message, NULL, &Message_Rect);
我在 Debug 文件夹中复制了 Arial.ttf。 TTF_GetError() 返回“库未初始化”。我检查链接器输入附加依赖项。 它包含
SDL2.lib
SDL2main.lib
SDL2_image.lib
SDL2_mixer.lib
SDL2_ttf.lib
SDL 版本 2.0.5
SDL_image 版本 2.0.1
SDL_mixer 版本 2.0.1
SDL_ttf 版本 2.0.14
我在 Debug模式下检查值。 TTF_OpenFont 0xcccccccc 之前,0x00000000 之后
怎么了?
最佳答案
您似乎还没有初始化 SDL TTF。你可以这样做:
if (TTF_Init() < 0) {
// Error handling code
}
关于c++ - SDL_ttf TTF_OpenFont 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42458020/