1

私は基本的に、このユーザーがここで抱えていたのと同じ「元の」問題を抱えています: 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);

これが何を意味するかについてのアイデアはありますか?

4

1 に答える 1

4

TTF_OpenFontフォントを開くことができなかったため、フォントが nullです。この行を TTF_OpenFont の直後に追加して、何が問題なのかを確認します (例: ファイルが見つからない、アクセス許可が不十分など)。

if(!font) {
    printf("TTF_OpenFont: %s\n", TTF_GetError());
}
于 2015-09-27T21:30:01.257 に答える