2016-11-19 3 views
1

J'essaie de charger une image png. Les paquets libsdl2-dev et libsdl2-image-dev ont été installés et j'inclue SDL2/SDL_image.h. IMG_Init fonctionne sans erreur, mais avec des erreurs IMG_Load.SDL2 IMG_Load Message d'erreur "format d'image non pris en charge"?

Sur mon ordinateur de bureau (Ubuntu) cela fonctionne (charge png dans SDL_Surface), mais il semble que mon ordinateur portable (également Ubuntu) ne lie pas la bibliothèque png requise.

ldd (bureau) libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007ff58db3c000)

ldd (ordinateur portable) Non libpng lib

Même si les deux ces machines ont cette bibliothèque au même endroit.

Comment puis-je comprendre pourquoi il n'est pas lié?

Edit: IMAGE_Init (IMG_INIT_PNG) provoque une erreur critique "images PNG ne sont pas pris en charge"

+0

La prise en charge PNG peut être désactivée ou être chargée dynamiquement au moment de l'exécution (elle est configurée lors de la compilation de SDL_image). Quels drapeaux passez-vous à 'IMG_Init'? Existe-t-il un message d'erreur dans 'SDL_GetError' après cela? – keltar

+0

Ahhh mauvaise vérification d'erreur de moi, IMG_Init est en fait donnant des erreurs "Images PNG ne sont pas supportées" sur mon ordinateur portable (Desktop INIT ne donne pas ces erreurs). J'utilise le drapeau IMG_INIT_PNG. –

Répondre

0

Après avoir retiré libpng, libsdl2-dev, et libsdl2-image-dev j'ai pu les réinstaller et travaux.