【发布时间】:2017-04-03 00:41:58
【问题描述】:
我正在尝试加载 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 库
即使这两台机器在同一个位置都有这个库。
我怎样才能弄清楚为什么它没有链接?
编辑: IMAGE_Init(IMG_INIT_PNG) 导致错误“不支持 PNG 图像”
【问题讨论】:
-
PNG 支持可以禁用或在运行时动态加载(这是在 SDL_image 编译时配置的)。你将什么标志传递给
IMG_Init?之后SDL_GetError有错误信息吗? -
啊,我的错误检查很糟糕,IMG_Init 实际上在我的笔记本电脑上给出了“不支持 PNG 图像”错误(桌面 INIT 没有给出这些错误)。我正在使用 IMG_INIT_PNG 标志。
标签: sdl-2 dynamic-linking ldd sdl-image