2016-04-03 30 views
0

SDL2'de metin oluşturucu yapmaya çalışıyorum. sadece bir süre sonra, anında bana istisna vermez çünküSDL_TTF ve SDL 2 birlikte çalışmıyor. İşlenmeyen İstisna Verilmesi

Unhandled exception at 0x6C7B543D (SDL2.dll) in Games.exe: 0xC0000005: Access violation reading location 0x00000004. 

Bu tuhaf (Bu sefer farklı görünüyor: Ben oyunun her çerçeve metnini updateing am zaman, sonuçta o bana bu hata veriyor Ve ben istisna 'break' ne zaman bu hatayı (neden çizgi gibi görünüyor) SDL_mixer buna neden oluyor düşünüyorum ben yüzeyinden doku) oluştururken:

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; 
    } 

ben 32 bit kullanıyorum SDL_TTF'nin görsel stüdyo sürümü.

Bu hatayı düzeltmeye yardımcı olabilseniz lütfen çok memnun kalacaksınız. Teşekkür ederim.

İstenilen davranış, sonunda bir Özel Durum vermeksizin metin yükleyebilmesidir.

Diğerleri bu hata oldu, ama (ben güncellenmiş repo görsel stüdyo versiyonunu bulamıyorum gibi) çözümü yardımcı olmuyor: biraz güncelledikten sonra

: Getting SDL_ttf to play nice with SDL2

EDIT 1 SDL_TTF 2'nin daha yeni sürümü Hata hala sabit değil, herhangi bir öneri var mı?

DÜZENLEME 2:

aradıktan sonra:

CreateTexture(): UNKNOWN 
CreateTexture(): UNKNOWN 
CreateTexture(): UNKNOWN 

O "TTF_RenderText_Solid" NULL döndürüyor gibi görünüyor:

SDL_GetError() 
IMG_GetError() 
TTF_GetEror() 

Bu konsolda çıkıştır. Bu arada, SDL_TTF'nin en yeni sürümünü kullanıyorum.

+0

Burada göndermeden önce en az bir örnek alın. Yan kurallar da sorunuzu konu dışı hale getiriyor. –

+0

@UlrichEckhardt Tamam, ama bununla ne demek istiyorsun? –

+0

"Bu" ne kastediyorsunuz? Lütfen https://stackoverflow.com/help/on-topic adresini okuyun. –

cevap

1

Gönderdiğiniz postada önerildiği gibi SDL_ttf sürümünüzü SDL2 ile çalışması için güncelleştirmelisiniz.

Görsel stüdyo için SDL_TTF SDL2 sürümü kullanıma sunulmuştur. http://hg.libsdl.org/SDL_ttf/file/62fc3433538d/VisualC

SDL_ttf.sln dosyasını SDL_ttf kitaplığı oluşturmanıza izin verdiğinizi;) bulabilirsiniz.