SDL_ttf TTF_OpenFont返回NULL

时间:2017-02-25 15:39:42

标签: c++

我在加载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()返回&#34;库未初始化&#34;。我检查链接器输入附加依赖项。 它包含

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

我在调试模式下检查值。在TTF_OpenFont 0xcccccccc之前,在0x00000000之后

出了什么问题?

1 个答案:

答案 0 :(得分:2)

看起来你还没有初始化SDL TTF。你可以这样做:

if (TTF_Init() < 0) {
    // Error handling code
}