Сообщение об ошибке неподдерживаемого формата изображения SDL2 IMG_Load?

Я пытаюсь загрузить изображение png. Пакеты libsdl2-dev и libsdl2-image-dev установлены, и я включаю SDL2/SDL_image.h. IMG_Init работает без ошибок, но ошибки IMG_Load.

На моем настольном ПК (Ubuntu) это работает (загружает png в SDL_Surface), но похоже, что мой ноутбук (также Ubuntu) не связывает требуемую библиотеку png.

ldd (рабочий стол) libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007ff58db3c000)

ldd (ноутбук) Нет libpng lib

Хотя обе эти машины имеют эту библиотеку в одном и том же месте.

Как я могу понять, почему он не получает ссылку?

Изменить: IMAGE_Init(IMG_INIT_PNG) вызывает ошибку "Изображения PNG не поддерживаются"


person Kieren Anderson    schedule 19.11.2016    source источник
comment
Поддержка PNG может быть отключена или загружаться динамически во время выполнения (это настраивается при компиляции SDL_image). Какие флаги вы передаете IMG_Init? Есть ли после этого сообщение об ошибке в SDL_GetError?   -  person keltar    schedule 19.11.2016
comment
Ах, плохая проверка ошибок от меня, IMG_Init на самом деле выдает ошибки PNG. Изображения не поддерживаются на моем ноутбуке (Desktop INIT не выдает этих ошибок). Я использую флаг IMG_INIT_PNG.   -  person Kieren Anderson    schedule 19.11.2016


Ответы (1)


После удаления libpng, libsdl2-dev и libsdl2-image-dev я смог переустановить их, и это работает.

person Kieren Anderson    schedule 19.11.2016