基于嵌入式系统的gnash最小库依赖关系

本文详细分析了Gnash的必需及可选依赖库,包括图像格式支持库、音视频处理库等,并探讨了不同配置选项的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已经对gnash的依赖库作了详细的分析,下边是必须依赖的库:
GIF             Required                                                libungif-dev
libxml2 Required                                                libxml2-dev
PNG             Required                                                libpng12-dev
JPEG            Required                                                libjpeg62-dev
Boost           Required                        1.32 or higher  libboost-thread-d
对于boost, 官方说法是必须包涵的,没有办法去掉。

在可选库中:
可选库:
Gstreamer       Optional                                                libgstreamer0.8-dev  //跟视频播放有关,与FFMPEG
不能同时选择。可选。
FFMPEG  Possibly Required                                       ffmpeg-dev   //跟视频播放有关,与Gstreamer
不能同时选择。可选。
gst-ffmpeg      Possibly Required                                       gstreamer0.8-ffmpeg-dev //选择
Gstreamer作为视频播放时,必须加入
gst-ffmpeg      Possibly Required                                       gstreamer0.8-ffmpeg-dev //选择
Gstreamer作为视频播放时,必须加入
SDL             Possibly Required                                       libsdl1.2-dev
AGG             Possibly Required               2.4 or higher   libagg-dev
OpenGL  Possibly Required                                       libgl1-mesa-dev
FLTK            Possibly Required               2.0 or higher   No distribution packages are
available.
Cairo           Possibly Required                                       libcairo2-dev

来看—enable-renderer=[opengl|cairo|agg],gnash根据不同的选项,可以支持三
种不同类型对图像和音频的渲染方式,通过下边的选项来设置: 

--enable-renderer=opengl
--enable-renderer=cairo
--enable-renderer=agg (default) 注: renderer渲染,只能选择一个选项
由于opengl cairo需要图形加速卡支持,所以这里我们只能选择agg, 可以在可选
库中删除Openl   Cairo的支持, 保留AGG.

--enable-media=[GST|ffmpeg], 由于现在浏览器项目不需要对flv的支持,尝
试取出对media的支持,但通过配置编译发现,gnash会编译一个自己的
libgnashsound-0.8.5.so库,
这个库中需要media的支持,而且如果--disable-media,编译是无法通过的,所以
无法出去对media的支持,所以这里必须选择,gnash的配置文件中可选项目为:
--enable-media=GST                      Gstreamer (default)
--enable-media=ffmpeg                 Ffmpeg/SDL
其中默认选择是--enable-media=GST,
这里必须依赖gstreamer0.8-ffmpeg-dev  gst-ffmpeg
如果选用--enable-media=ffmpeg, 
就需要依赖SDL  gst-ffmpeg
上边是最为重要的两个配置项,
由于gui我们采用qte,所以需要--enable-gui=qtopia [qt4]


 
如果采用上述的配置, 整个gnash编译需要依赖的库有:
图形库:
        ligjpeg  ligpng libgif libz
Audio decoding support...
 SPEEX_CFLAGS is 
 SPEEXDSP_CFLAGS is 
 SPEEX_LIBS is -lspeex  
 SPEEXDSP_LIBS is 
gui库:
        libqt4  libqtopia 
        
其他库:    
        
        
        libxml2   libboost  libglib  libpthread  libfreetype  libcurl
        libsdl[正在查找原因]
          还出现了libX11 -libXinerama  libXext libSM libICE 这些是x11的
库,
而配置gui选用的是qtopia[qt4 qte],正在查找原因。
         
Graphics 支持:
        libagg
正在解决的问题:
1。 如上,在配置中,出现了x11,尽管配置的gui选用qtopia(qt4),但仍然出现
x11,正在查找原因,  
2。 正在确认出现libsdl的原因,可能是Using SDL for sound handling,正在确
认。
3。 配置成 --enable-gui=qtopia  编译成功后,  生成的可执行文件中没有发现
gnashplayer之类的可执行文件,正在查找原因。 

已经确认: x11库是不需要的,出现
libX11 -libXinerama  libXext libSM libICE 这些是x11的
库,是confiuge的一些问题,配置脚本无法正确的读取环境变量qtopialib等,
导致x11出现,
在configure脚本中加入
export QTOPIA4_LIBS="/usr/local/Trolltech/QtEmbedded-4.5.0/lib"
export QTOPIA4_CFLAGS="/usr/local/Trolltech/QtEmbedded-4.5.0/include"
在配置信息中就没有出现x11相关库,正在编译,做进一步的验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值