聲明:本文摘自網(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安裝