私はSDL2でテキストレンダラーを作成しようとしています。そして、私は、テキストをupdateingていたときに、ゲームのすべてのフレームが、最終的にそれは私にこのエラーを与える:SDL_TTFとSDL 2が連携していません。未処理の例外を与える
Unhandled exception at 0x6C7B543D (SDL2.dll) in Games.exe: 0xC0000005: Access violation reading location 0x00000004.
それは即座に私に例外を与えるものではありませんので、それは奇妙である、唯一のしばらく後に(この時点では異なるように見えます、そして、私はSDL_Mixerがそれを引き起こしていると思います)I「ブレーク」の例外は、私は、表面からテクスチャを作成するとき、これはライン)(エラーの原因となっているようだ時:
void Text::SetText(SDL_Renderer* rend, std::string message)
{
SDL_Color textCol = { Col.Red, Col.Green, Col.Blue, Col.Alpha };
//Load image at specified path
SDL_Surface* loadedSurface = TTF_RenderText_Solid(font, message.c_str(), textCol);
if (loadedSurface == NULL) Debug::Fatal("Could not load text");
//Create texture from surface pixels
/*EXCEPTION ON THIS LINE --->*/ SDL_Texture* newTexture = SDL_CreateTextureFromSurface(rend, loadedSurface);
if (newTexture == NULL) Debug::Fatal("Could not create texture from text");
Scale.x = loadedSurface->w;
Scale.y = loadedSurface->h;
//Get rid of old loaded surface
SDL_FreeSurface(loadedSurface);
Texture = newTexture;
}
私は32ビットを使用していますビジュアルスタジオ版のSDL_TTF。
このバグを修正するお手伝いができれば幸いです。ありがとうございました。
最終的に例外を出すことなく、テキストを読み込むことができます。
その他、このエラーがあったが、(私は更新レポにVisual Studioのバージョンを見つけることができないとして)解決策は役に立ちません:Getting SDL_ttf to play nice with SDL2
EDIT 1:
わずかにアップデートした後新しいバージョンのSDL_TTF 2エラーはまだ修正されていません。
EDIT 2:
呼び出した後:
SDL_GetError()
IMG_GetError()
TTF_GetEror()
これは、コンソールで出力されます。
CreateTexture(): UNKNOWN
CreateTexture(): UNKNOWN
CreateTexture(): UNKNOWN
"TTF_RenderText_Solid" はNULLを返しているようです。ちなみに、私はSDL_TTFの最新バージョンを使用しています。
ここに投稿する前に最小限の例を抽出してください。副規則では、あなたの質問を話題から外す必要があります。 –
@UlrichEckhardtさて、でもそれはどういう意味ですか? –
"それ"とは何を指していますか? https://stackoverflow.com/help/on-topicをお読みください。 –