Mac编译安装swfTools

声明:本文摘自网络,自己亲测是完全正确的,因此记录下来,以免丢失。

下载源码

这里下载安装的是swftools-0.9.2.tar.gz,具体的地址为:http://www.swftools.org/swftools-0.9.2.tar.gz

解压源码

tar-xzvfswftools-0.9.2.tar.gz

安装依赖项

主要通过brew安装一下四个包:lzlib、giflib、jpeg、freetype。

我的freetype没有安装成功,最后没有影响。

Mac版本安装命令:

切换到swftools解压后的文件目录

./configure执行配置或者执行如下配置命令:

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

需要注意这里存在部分代码错误,需要修改解决后执行

一、char * 和 int比较导致的错误, 需要修为文件

错误信息:

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

1 插入文件头

#include <stdlib.h>

2 错误处理代码

(具体修改位置可以参考错误提示),原始代码是直接使用变量做比较,这里需要对变量调用atio函数后比较

二、存在一些变量没有定义的错误

错误信息:

文件swftools-0.9.2/lib/jpeg.c中存在部分变量没有定义,这里需要修改

修改后代码:

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

三、存在一些方法参数数量错误 以及 部分函数没有定义问题

报错信息:

解决方案:

修改文件swftools-0.9.2/src/gif2swf.c等内容:

1.1 全局搜索DGifOpenFileName和DGifCloseFile调用

1.2 在存在调用上述两个方法的地方,定义变量

c

int Error;

并且修改调用为:

c

DGifOpenFileName(sname, &Error)

注意:这里修改需要注意,如果上述两个方法在同一个方法中调用,只需定义一次变量即可

1.3 在当前文件中全局搜索PrintGifError();,将这行代码删除或注释掉。

make编译

make install安装

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容