加载TTF - SDL2时出现分段故障

Segmentation Fault while loading TTF - SDL2

本文关键字:分段 故障 TTF SDL2 加载      更新时间:2023-10-16

我基本上有相同的"原始"问题,这个用户在这里:c++ SDL分割错误。

然而,即使在安装了我试图使用的字体之后,我仍然会在运行程序时出现分割错误。

我使用gdb调试,它返回:

TTF_SizeUNICODE (font=font@entry=0x0, text=text@entry=0xbfffefe0, w=w@entry=0xbfffef9c, h=h@entry=0xbfffefa0) at SDL_ttf.c:1127
1127        use_kerning = FT_HAS_KERNING( font->face ) && font->kerning;
下面是我加载TTF字体的方法:
TTF_Font *font;
TTF_Init();
font = TTF_OpenFont("/includes/game_over.ttf",30);

你知道这是什么意思吗?

Font为null,因为TTF_OpenFont无法打开字体。在TTF_OpenFont之后添加这行,看看问题是什么(例如文件丢失?)或者你的意思是包含/game_over.ttf而不是指向根文件夹的/includes/game_over.ttf ?

if(!font) {
    printf("TTF_OpenFont: %sn", TTF_GetError());
}