树莓派中手动编译sdl_image无法加载jpeg解决方案


如果你是因为忘记安装 libjpeg 造成 sdl2 image 无法加载 jpg 请离开 ....
如果你不准备使用 opengl es 版本的 sdl2
或者你仅仅只是单独使用 sdl2 image 的
一条命令解决你的烦恼
apt-get install libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev
如果你准备手动编译 opengl es 版本的 sdl2 和 sdl2 image 却发现 image 无法接在 jpg 或者 png ...
先自动安装 ...
apt-get install libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev
然后手动编译 sdl2 .... ./configure ; make ; make install .... 等

./configure --prefix=/usr/local \
   --disable-video-x11 \
   --disable-pulseaudio \
   --disable-esd \
   --disable-video-opengl

安装完成后 ... 

通过 ldconfig 来控制使用 手动编译的 sdl2 和自动安装的 sdl2 image ...

echo "/usr/local/lib" > /etc/ld.so.conf.d/00-sdl.conf 
ldconfig 
可能你觉得这并没有从根本解决问题,但是 ...
第一:我确定我安装了 libjpeg-dev(libjpeg8) 
    /usr/include/jpeglib.h 和 /usr/lib/arm-linux-gnueabihf/libjpeg.so.8.4.0 也都存在 ...
第二:sdl image configure 也提示 libjpeg OK ...
    checking jpeglib.h usability... yes
    checking jpeglib.h presence... yes
    checking for jpeglib.h... yes
    checking for jpeg_CreateDecompress in -ljpeg... yes
    checking for LIBPNG... yes
第三:IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG) 初始化成功 ...
    但是 IMG_Load 却报错 ... JPEG loading error
... 我还能做什么 ... 当然想办法找个现成能用的 ...
就这么简单,就这么不走寻常路 ...