热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

现象简述公司同事今天告诉我,我们的软件有一个问题,就是一个图像显示的问题,显示的图像有部分镂空缺少的状况。原因对比了多个版本的程序,发现仅仅在Linux版本上出现了这个问题,Win

现象简述

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

技术图片

原因

对比了多个版本的程序,发现仅仅在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了)

技术图片

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


推荐阅读
author-avatar
绿色小植被_552_584
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有