GNASH 移植

    技术2025-10-13  3

    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) 选择GTKCairo

    安装命令:

    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)