GNASH 移植
Gnash 是一个发布在 GPL 许可下的 SWF 播放器,并为 Firefox、Mozilla、Konqueror 等浏览器提供插件支持。官方网址: http://www.gnashdev.org/ 。Gnash 支持很多 SWF v7 的特性和 ActionScript 2 类,对于 SWF v8 及 SWF v9 的支持仍在开发中。除了能够运行在很多 GNU/Linux 发行版上外,Gnash 还支持嵌入式 GNU/Linux、FreeBSD、NetBSD、OpenBSD、非 x86 处理器及 64 位架构。
Ubuntu X86 版本下面的 Gnash 编译
1 安装编译工具
1 )安装编译器
a) apt-get install build-essential
2 )安装编译辅助工具
a) apt-get install automake
b) apt-get install libtool
c) apt-get install libltdl3-dev
d) apt-get install libcurl3-dev
2 编译辅助以来函数库
1) 编译boost
选用boost1.4.0 版本,执行如下命令:
a) ./bootstrap.sh
b) ./bjam
注意:相关的头文件和库的路径。头文件路径为当前编译目录的boost 下面,即./boost/ 。库路径为当前编译路径的stage/lib/ 下面,即./stage/lib/, 当gnash 运行时,需要拷贝到/usr/lib/ 下面。
apt-get install libboost-dev libboost-dbg libboost-doc bcp libboost*
3 安装图形依赖库
1) 安装图片编码、解码库
a) apt-get install libpng12-dev
b) apt-get install libjpeg62-dev
c) apt-get install libungif4-dev
d) apt-get install libxml2-dev
2) 需要根据窗口系统和渲染引擎,选择安装相应的图形库。
表1 GUI 和图形引擎的组合
| GTK | KDE3 | KDE4 | SDL | FLTK | FB | DUMP | AQUA | RISCOS | AOS4 |
AGG | OK | OK | OK | OK | OK | OK | OK | n/a | n/a | OK |
Cairo | OK | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | n/a | n/a | FAIL |
OGL | OK | OK | OK | OK | FAIL | FAIL | FAIL | n/a | n/a | FAIL |
a) 选择GTK 和Cairo
安装命令:
apt-get install libgtk2.0-dev # libgtk includes cairo
apt-get install libsdl1.2-dev( 按理说不需要,原因待查找 )
配置将执行增加如下选项:
--enable-renderer=cairo --enable-gui=gtk
b) 选择 opengl 作为图形引擎,选择 GUI 为 gtk,kde3,sdl 。
配置执行增加如下选项:
--enable-renderer=ogl --enable-gui=gtk,kde3,sdl
c) 选择 agg 作为图形引擎,选择 GUI 为 gtk,kde4,sdl,fltk,fb,dump 。
配置执行增加如下选项:
--enable-renderer=agg --enable-gui=gtk,kde4,sdl,fltk,fb,dump
4 安装流媒体视频处理库
在配置项中,将增加选项, --enable-media
1)FFmpeg
增加选项: --enable-media=ffmpeg
apt-get install libavformat-dev libsdl-mixer1.2-dev
2)gst
增加选项: --enable-media=gst
apt-get install libgstreamer0.10-dev
apt-get install libgstreaner-plugins-base0.10-dev
3)mad
增加选项: --enable-media=mad
apt-get install libmad0-dev libsdl-mixer1.2-dev
5 插件以赖库
1 ) mozilla/firefox plugin
apt-get install mozilla-dev( 在 Ubuntu 中没有找到,等待进一步确认。 )
6 文档编译依赖库
对应选项,--enable-docbook
依赖库安装命令:
apt-get install docbook docbook2x docbook-utils docbook-xml docbook-xsl texinfo xsltproc
7 开始编译
1) 生成配置文件
./autogen.sh
2) 执行配置命令
a) 配置图形引擎为 cairo, 窗口系统为 gtk ,流媒体为 gstream
./configure --enable-media=gst --enable-renderer=cairo -–enable-gui=gtk –-with-boost-include=”/home/liyijun/gnash/boost_1_40_0” –with-boost-lib=”/home/liyijun/gnash/boost_1_40_0/stage/lib” –enable-docbook –with-ltdl-include=”/usr/include” –with-ltdl-lib=”/usr/lib”
小插曲,将 libtool 中的 ECHO=”echo” ,改为 echo=”echo”
b) 配置图形引擎为 agg ,窗口系统为 sdl, 流媒体为 gstream
c) 播视频
./configure --enable-media=ffmpeg --enable-renderer=agg --enable-gui=sdl
3)make
编译错误信息:
a) Libmedia/gst/gstutil.cpp 有两个函数没有发现定义,抱错,进行了注释处理
b) 曾出现 /usr/lib//libjpeg.la 等问题,目录中多了一个斜杠,没有报错,原因待查
c) Debugger.cpp 的 582 行,未声明 fn 变量,进行了注释处理。
d) Debugger.cpp 的 313vm,global 有问题,进行注释。
注意, debugger.cpp 有错误,暂时不要打开 —enable-debugger 。
更多推荐
所有评论(0)