记录一次libwebp版本造成的问题

现象简述

公司同事今天告诉我,我们的软件有一个问题,就是一个图像显示的问题,显示的图像有部分镂空缺少的状况。

原因

对比了多个版本的程序,发现仅仅在Linux版本上出现了这个问题,Windows版本没有出现。查看了一下代码历史,并没有发现有代码的不一致。调试了一下程序,发现问题出现在使用libwebp进行图像解码的时候,出来的结果就已经是有缺少的。
看了下Linux下使用的libwebp版本,发现是v0.4.2而windows上使用的是v0.6.1,于是编译了一个新版本的放上去,问题不再出现。

记录下libwebp的编译修改

这里记录一下编译libwebp动态库,便于以后需要的时候使用。

1、下载源码

wget https://github.com/webmproject/libwebp/archive/v0.6.1.tar.gz
#或下载最新版本
wget https://github.com/webmproject/libwebp/archive/v1.0.3.tar.gz

2、修改makefile.unix
因为这个脚本,只提供了编译为.a静态库的操作,所以需要对其进行简单的修改。

不多说,直接上图好了

添加编译选项-fPIC

添加一个libwebp.so的目标(这里设置siname为libwebp.so.4是用于生成的so直接替换掉原来的低版本的,就不去做软链接或者重新编译链接了)

把这个输出目标添加到all中(这里我就简单的直接改了下面一个使用到libwebp.a的,改成.so了)

原文地址:https://www.cnblogs.com/oloroso/p/11357875.html