linux64下安装swftools
在文档转换器中,需要在linux上安装swftools,经历了一番曲折过程终于安装成功。swftools安装包从http://www.swftools.org/download.html上面下载。
在./configure过程中会提示需要依赖包freetype和jpegsrc,这两个依赖包可以从官网上下载,也可以从swftools上下载http://download.savannah.gnu.org/releases/freetype/和http://www.ijg.org/files/上下载。
- 安装freetype-2.5.3.tar.gz
tar -xzvf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure
make
make install
- 安装jpegsrc.v9a.tar.gz
tar -xzvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure
make
make install
- 安装swftools
tar -xzvf swftools-2013-04-09-1007.tar.gz
cd swftools-2013-04-09-1007
ldconfig /usr/local/lib
提示错误ldconfig: /lib64/libz.so.1 is not a symbolic link, 解决方法是
cd /lib64/
ls -al
看到libz.so.1不是一个连接而是一个文件
rm -rf libz.so.1
ln -s /lib64/libz.so.1.2.8 /lib64/libz.so.1
继续执行
./configure --prefix=/usr/local/swftools
make
在编译jpeg.c时出错,见图
源代码错误,提示swftools-2013-04-09-1007/lib/jpeg.c没有定义常量TRUE,检查并修改jpeg.c文件,添加以下内容
#include "types.h"
屏蔽365行的typedef unsigned char U8后,重新编译swftools
另外几种错误
gif2swf.c: In function ‘MovieAddFrame’:
gif2swf.c:233: error: too few arguments to function ‘DGifOpenFileName’
gif2swf.c:239: warning: implicit declaration of function ‘PrintGifError’
gif2swf.c:458: error: too few arguments to function ‘DGifCloseFile’
gif2swf.c: In function ‘CheckInputFile’:
gif2swf.c:491: error: too few arguments to function ‘DGifOpenFileName’
gif2swf.c:521: error: too few arguments to function ‘DGifCloseFile’
make[1]: *** [gif2swf.o] Error 1
make[1]: Leaving directory `/home/pjroot/swftools-2013-04-09-1007/src'
make: *** [all] Error 2
错误原因:
由于giflib 5.1的DGifOpenFileName函数和DGifCloseFile函数参数签名发生变化,而gif2swf.c中调用仍然使用旧有版本导致参数不匹配
DGifOpenFileName变化
GifFileType *DGifOpenFileName(char *GifFileName)//old
GifFileType *DGifOpenFileName(char *GifFileName, int *ErrorCode) //new
DGifCloseFile变化
int DGifCloseFile(GifFileType *GifFile) // old
int DGifCloseFile(GifFileType *GifFile, int *ErrorCode) //new
解决方法:
gif2swf.c 中几处做修改
233和491行
if ((gft = DGifOpenFileName(sname)) == NULL) {
改为
if ((gft = DGifOpenFileName(sname, 0)) == NULL) {
458和512行
DGifCloseFile(gft);改为 DGifCloseFile(gft, NULL);
making all in m4...
cd m4;make all
make[1]: Entering directory `/home/pjroot/swftools-2013-04-09-1007/m4'
make[1]: Leaving directory `/home/pjroot/swftools-2013-04-09-1007/m4'
making all in lib...
cd lib;make all
make[1]: Entering directory `/home/pjroot/swftools-2013-04-09-1007/lib'
gcc -c -DHAVE_CONFIG_H -I/usr/local/swftools/include -I/usr/local/include/freetype2 -I/usr/local/include -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer rfxswf.c -o rfxswf.o
In file included from ./bitio.h:23,
from rfxswf.h:37,
from rfxswf.c:28:
./types.h:39:2: error: #error "no way to define 64 bit integer"
./types.h:42:2: error: #error "don't know how to define 32 bit integer"
./types.h:45:2: error: #error "don't know how to define 16 bit integer"
./types.h:48:2: error: #error "don't know how to define 8 bit integer"
make[1]: *** [rfxswf.o] Error 1
make[1]: Leaving directory `/home/pjroot/swftools-2013-04-09-1007/lib'
make: *** [all] Error 2
错误原因:
没有连接到库,执行以下命令
ldconfig /usr/local/lib
再次重新configure并make安装
./configure --prefix=/usr/local/swftools
make
make install
make clean
make distclean
</pre></div></div><p></p><ul><li>测试是否安装正确</li></ul><p><pre name="code" class="plain">pdf2swf -s languagedir=/usr/local/share/xpdf/chinese-simplified -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9 2.pdf -o 2.swf
linux64下安装swftools的更多相关文章
- linux下安装swftools工具
swfTools是一种实用工具与Adobe Flash文件(swf文件)工作的集合.可以把(pdf/gif/png/jpeg/jpg/font/wav) 7种格式转换为swf文件.一般常用于文件在线浏 ...
- 在UEFI下安装windows和Ubuntu双系统目前不可行
UEFI是BIOS的升级,未来将取代BIOS,说白了,就是跟BISO差不多的作用.但是目前比较新的主板兼容两种设置就比较坑了,默认是UEFI,UEFI下只能安装win8以上的版本,和linux64位系 ...
- linux 下安装jdk及配置jdk环境图解
linux 下安装jdk及配置jdk环境图解 一:先检測是否已安装了JDK 运行命令: # rpm -qa|grep jdk 或 # rpm -q jdk 或 #find / -name j ...
- Ubuntu16.04下安装MATLAB 2016b!完美运行
目录 1.下载MATLAB 2016b 2.挂载iso 3.安装MATLAB 4.破解 5.快捷键与运行 1.下载MATLAB 2016b 下载matlab 2016b for linux(可以百度搜 ...
- linux下安装cmake方法(1)---下载压缩包
OpenCV 2.2以后的版本需要使用Cmake生成makefile文件,因此需要先安装cmake:还有其它一些软件都需要先安装cmake 1.在linux环境下打开网页浏览器,输入网址:http:/ ...
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
- Ubuntu1604下安装Liggghts及CFDEM Coupling
部分内容参考http://www.linuxdiyf.com/linux/16315.html LIGGGHTS是一款开源的DEM软件,来自于著名的分子动力学软件LAMMPS,目前借助于CFDEM C ...
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4
最新更新参看: Centos 7.0 安装Mono 3.4 和 Jexus 5.6 2012年初写过一篇<32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0 ...
随机推荐
- 【BZOJ 1191】 [Apio2010]特别行动队 (斜率优化)
dsy1911: [Apio2010]特别行动队 [题目描述] 有n个数,分成连续的若干段,每段的分数为a*x^2+b*x+c(a,b,c是给出的常数),其中x为该段的各个数的和.求如何分才能使得各个 ...
- ANDROID_MARS学习笔记_S05_004_过滤杂质,得到真正的加速度
一.简介 二.代码1.java (1)MainActivity.java import android.app.Activity; import android.content.Context; im ...
- AD域环境的搭建 基于Server 2008 R2
AD(Active Directory)即活动目录,微软的基础件.微软的很多产品如:Exchange Server,Lync Server,SharePoint Server,Forefront Se ...
- C++小知识之Vector用法
tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; color:rgb(51,51 ...
- JavaScript String支持的辅助format函数+【分页1】
/** ) { && ; i < arguments.length; i++) { : int.Parse(Request.Par ...
- oracle时间模型
Oracle在9i或者早期的版本,对于性能优化方面,主要采用命中率模型,后面的版本,也保留着命中率模型,比如在awr报告中,Instance Efficiency Percentages (Targe ...
- HTML5与CSS3权威指南.pdf8
第17章 与背景和边框相关的样式 与背景相关的新增属性 background-clip指定背景的显示范围 background-origin指定绘制背景图像时的起点 background-size指定 ...
- Bzoj 2763: [JLOI2011]飞行路线 dijkstra,堆,最短路,分层图
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1728 Solved: 649[Submit][Statu ...
- Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback开发实例
原文:Android图形系统之Surface.SurfaceView.SurfaceHolder及SurfaceHolder.Callback之间的联系 Surface是原始图像缓冲区(raw buf ...
- android camera(四):camera 驱动 GT2005
摄像头主要参数: 1.MCLK 24MHz: 2.PCLK 48~52MHz~: 3.电压 1.8V(1.5V).2.8V: 4.scl(IIC时钟)100KHz或者400KHz. 下载:常用摄像 ...