記錄一次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了)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM