Mac編譯安裝swfTools

聲明:本文摘自網(wǎng)絡(luò),自己親測(cè)是完全正確的,因此記錄下來,以免丟失。

下載源碼

這里下載安裝的是swftools-0.9.2.tar.gz,具體的地址為:http://www.swftools.org/swftools-0.9.2.tar.gz

解壓源碼

tar-xzvfswftools-0.9.2.tar.gz

安裝依賴項(xiàng)

主要通過brew安裝一下四個(gè)包:lzlib、giflib、jpeg、freetype。

我的freetype沒有安裝成功,最后沒有影響。

Mac版本安裝命令:

切換到swftools解壓后的文件目錄

./configure執(zhí)行配置或者執(zhí)行如下配置命令:

sudo LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure? --prefix=/usr/local/swftools

需要注意這里存在部分代碼錯(cuò)誤,需要修改解決后執(zhí)行

一、char * 和 int比較導(dǎo)致的錯(cuò)誤, 需要修為文件

錯(cuò)誤信息:

在swftools-0.9.2/lib/pdf/xpdf/GlobalParams.cc文件中修改

1 插入文件頭

#include <stdlib.h>

2 錯(cuò)誤處理代碼

(具體修改位置可以參考錯(cuò)誤提示),原始代碼是直接使用變量做比較,這里需要對(duì)變量調(diào)用atio函數(shù)后比較

二、存在一些變量沒有定義的錯(cuò)誤

錯(cuò)誤信息:

文件swftools-0.9.2/lib/jpeg.c中存在部分變量沒有定義,這里需要修改

修改后代碼:

//修改后代碼#ifdefHAVE_JPEGLIB#ifndefFALSE#defineFALSE 0#endif#ifndefTRUE#defineTRUE 1#endif#defineHAVE_BOOLEAN#include<jpeglib.h>

三、存在一些方法參數(shù)數(shù)量錯(cuò)誤 以及 部分函數(shù)沒有定義問題

報(bào)錯(cuò)信息:

解決方案:

修改文件swftools-0.9.2/src/gif2swf.c等內(nèi)容:

1.1 全局搜索DGifOpenFileName和DGifCloseFile調(diào)用

1.2 在存在調(diào)用上述兩個(gè)方法的地方,定義變量

c

int Error;

并且修改調(diào)用為:

c

DGifOpenFileName(sname, &Error)

注意:這里修改需要注意,如果上述兩個(gè)方法在同一個(gè)方法中調(diào)用,只需定義一次變量即可

1.3 在當(dāng)前文件中全局搜索PrintGifError();,將這行代碼刪除或注釋掉。

make編譯

make install安裝

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容