已經對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相關庫,正在編譯,做進一步的驗證
轉載于:https://www.cnblogs.com/lifan3a/articles/6830140.html