❶ linux 怎樣搭建qtwebkit使用的gstreamer
花了一天事件, 終於編譯出了支持gstreamer的qtwebkit, 可以開始html5 的<video><audio>之旅了。
1. 編譯libxml2
下載libxml2-sources-2.7.6.tar.gz
解包後在當前目錄下編寫如下編譯腳本:(當然,不用腳本也行,你可以直接執行)
CC=arm-none-linux-gnueabi-gcc ./configure --build=i686-linux --host=arm-none-linux --prefix=/home/work/dist --without-python
make && make install
2. 編譯zlib, 這個太common,我不啰嗦了, glib-2.0要依賴的。
3. 編譯glib-2.0
下載glib-2.24.2.tar.bz2, 解包, 這個版本的依賴庫很少, 竟然只需要zlib。
老版本需要的libconv, gettext等均不需要了。
同樣, 編寫編譯腳本:
CC=arm-none-linux-gnueabi-gcc ./configure --build=i686-linux --host=arm-none-linux \
--prefix=/home/work/dist \
CFLAGS="-I/home/work/dist/include -L/home/work/dist/lib" \
glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes \
ac_cv_func_posix_getgrgid_r=yes ac_cv_lib_rt_clock_gettime=no glib_cv_monotonic_clock=yes
make && make install
4. 編譯gstreamer
下載gstreamer-0.10.35.tar.gz, 這個是0.10版本裡面最新的了。
編譯腳本:
CC=arm-none-linux-gnueabi-gcc PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig ./configure --build=i686-linux --host=arm-none-linux \
--prefix=/home/work/dist CFLAGS=-I/home/work/dist/include --disable-registry --disable-loadsave --disable-gtk-doc \
ac_cv_func_register_printf_function=no --disable-tests --disable-valgrind --disable-debug --disable-gst-debug
make && make install
5. 編譯gst plugins base
下載gst-plugins-base-0.10.35.tar.gz。
編譯腳本:
CC=arm-none-linux-gnueabi-gcc PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig ./configure --build=i686-linux --host=arm-none-linux \
--prefix=/home/work/dist CFLAGS=-I/home/work/dist/include --disable-valgrind --disable-x --disable-gnome_vfs --disable-alsa --disable-ogg --disable-pango --disable-theora --disable-vorbis --disable-examples
make && make install
好了, 萬事具備, 只欠東風了。接下來開始編譯Qt
Qt的配置文件很復雜, 我就不寫出來了, 就是要注意這三點:
1. 在Qt 的configure 時加上-force-pkg-config, 否則會在WebCore的feature.pri中檢查時報"Disabling video e the lack of GLib/Gio/GStreamer.",
也就是說會不支持video.
具體可以看這個pri片段:
!contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10): {
DEFINES -= ENABLE_VIDEO=0
DEFINES += ENABLE_VIDEO=1
DEFINES += WTF_USE_GSTREAMER=1
DEFINES -= WTF_USE_GSTREAMER=0
} else {
message("Disabling video e the lack of GLib/Gio/GStreamer.")
DEFINES -= ENABLE_VIDEO=1
DEFINES += ENABLE_VIDEO=0
}
如果不指定-force-pkg-config, 就會被當作no-pkg-config.
2. 為configure指定:PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig, 否則也會diabling video
3. 為了讓webkit庫能找到gstreamer等庫, 還需要在webkit.pro中加上
轉載,僅供參考。
❷ 在linux下怎麼打包直接運行的node-webkit桌面應用
打包一個雙擊就可以直接運行的node-webkit應用,需要有:自己做的項目文件、package.json的配置文件,還有下載下來的node-webkit。
一、打包一個可以運行 .nw文件
1、在要打包的項目的主頁面同一級目錄里建一個package.json的文件,它是用來配置運行窗口和應用信息的。
如下圖是我的項目,其中demo.html就是我運行這個應用時打開的頁面:
我的很簡單package.json文件內容如下,這2個是必備的。name可任意起,main就是你要運行的主頁文件名:
查看文本列印
{
"name": "music",
"main": "demo.html"
}
2、將整個文件夾zip打包成 xxx.nw文件,一定要是zip打包,其他是不行的,我就在這里搞錯了。
我的這個用命令壓縮是:zip -r MusicPlay.nw css demo.html images package.json script
生成的包:
打開是這樣的:
這樣可運行的 .nw文件就好了,這時可以測試一下是否成功。
兩種方法檢測:
1)可以直接拖拉這個壓縮包拖到下載的node-webkit文件夾里的nw上面運行;
2)可以用命令行運行:
先cd到node-webkit文件目錄下,我的是:cd /opt/node-webkit-v0.9.1-linux-ia32
然後輸入:./nw /home/shara/workplace/php/MusicPlayerHTML5/MusicPlay.nw
這樣它就會運行了,成功時長這樣,我的東西還沒做好,所以長好醜,忽略吧:
二、將這個MusicPlay.nw和node-webkit文件下的 nw 一起創建一個文件:cat MusicPlay.nw nw > app && chmod +x app
在node-webkit文件夾里得到這個東西:
最後將node-webkit文件夾里的libffmpegsumo.so 和 nw.pak 跟這個app放到一個文件夾里,把這個文件夾放別人的機子上,它也可以直接雙擊運行這個app文件了。
❸ WebKit嵌入式移植
蘋果公司在設計WebKit之時加入了太多Mac OS X平台的獨有事物,這給向其它系統的移植造成了很大障礙。不過,由於WebKit出色的開源特性,這些障礙正在被不斷克服。
WebKit是Mac OS X v10.3及以上版本所包含的軟體框架(對v10.2.7及以上版本也可通過軟體更新獲取)。同時,WebKit也是Mac OS X的Safari網頁瀏覽器的基礎。WebKit是一個開源項目,主要由KDE的KHTML修改而來並且包含了一些來自蘋果公司的一些組件。
傳統上,WebKit包含一個網頁引擎WebCore和一個腳本引擎JavaScriptCore,它們分別對應的是KDE的KHTML和KJS。不過,隨著JavaScript引擎的獨立性越來越強,現在WebKit和WebCore已經基本上混用不分(例如Google Chrome採用V8引擎,卻仍然宣稱自己是WebKit內核)。
Webkit的優勢是速度快,而IE的優勢是兼容性好。
❹ 如何在Linux的Eclipse集成開發環境中配置Webkit庫
在Linux的Eclipse集成開發環境中無法配置Webkit庫,只有在ios開發環境中才能使用。
WebKit是開源的Web瀏覽器引擎,蘋果的Safari、谷歌的Chrome瀏覽器都是基於這個框架來開發的。WebKit 還支持移動設備和手機,包括iPhone和android手機都是使用WebKit做為瀏覽器的核心。
WebKit 是一個開源項目,其起源可追溯到 K Desktop Environment (KDE)。WebKit 項目催生了面向移動設備的現代 Web 應用程序。雖然設備本身的能力和形態因素都相當重要,但移動用戶最熱衷的仍然是內容。如果移動用戶可用的內容只是 Internet 用戶可用內容的一個很小的子集,那麼用戶體驗充其量也只能劃分為二等。
WebKit 還應用在了桌面的 Safari 瀏覽器內,該瀏覽器是 Mac OS X 平台默認的瀏覽器。不管我們討論的是桌面版本還是 iPhone 或 Android 上的瀏覽器引擎,WebKit 均優先支持 HTML 和 CSS 特性。實際上,WebKit 還支持尚未被其他瀏覽器採納的一些 CSS 樣式 — 這些特性正在得到 HTML5 規范的考慮。
HTML5 規范是一個技術草案集,涵蓋了各種基於瀏覽器的技術,包括客戶端 SQL 存儲、轉變、轉型、轉換等。HTML5 的出現已經有些時間了,雖然尚未完成,但是一旦其特性集因主要瀏覽器平台支持的加入而逐漸穩定後,Web 應用程序的簡陋開端將成為永久的記憶。Web 應用程序開發將成為主導 — 並且不只是在傳統的桌面瀏覽器空間,還將在移動領域。移動將一躍成為首要考慮,而不再是後備之選。
❺ windows下和linux下怎麼搭建webkit瀏覽器,新手小白求詳細教導
看下這里有詳細介紹:http://blog.csdn.net/glt3953/article/details/12510923
❻ 在linux下怎麼打包直接運行的node-webkit桌面應用
node-webkit 是一個很神奇的桌面客戶端項目,正如這個項目的名字,這個項目是由node 和 webkit 構成,簡單來說,就是你可以用HTML 5和 node 進行桌面客戶端開發,而且客戶端還是同時支持在 WIN,MAC,LINUX運行. 下面,就用一個簡單的例子來展示一下node-webkit的魅力.
創建項目
本例子基於Grunt構建
如果,你用過grunt,要創建一個node-webkit 非常簡單,我已經寫好了一個node-webkit的grunt-init的項目模板. 至於怎麼安裝這個模板,跟官方的教程一樣. 如果你是windows 用戶
md %USERPROFILE%.grunt-init\node-webkit
git clone git@github:youxiachai/grunt-init-node-webkit.git %USERPROFILE%.grunt-init\node-webkit
linux or mac
git clone [email protected]:youxiachai/grunt-init-node-webkit.git ~/.grunt-init/node-webkit
你只需要用
grunt-init node-webkit
就可以創建完畢.
app.nw 這個目錄就是我們准備要開始寫的pc 客戶端的項目文件夾,運行node-webkit項目很簡單,只需要把node-webkit 的運行環境配置到環境變數,然後運行
nw app.nw 就可以運行起來了. nodewebkit1
PS: 如果你不想接觸grunt,不過我建議還是學一下grunt,你可以到github/rogerwang/node-webkit#quick-start 學習如何啟動一個node-webkit應用.
效果圖
oscdesk1
oscdesk2
這個就是所謂的 win 8 風格的客戶端了吧....界面用的框架是這貨:aozora.github.io/bootmetro/ 90% 的時間都是調整界面...蛋疼死了......連個 win8 風格的progress 都沒..讓我非常傷心..也可能是alpha 的原因吧. 不過最後的效果,還是很難看,就湊合著過去吧....
開發
基於node-webkit 開發pc 客戶端語言支持 c/c++,html5,css3, js,node api.好了,現在我們開始用html 5 + css3 寫一個pc 客戶端吧. node-webkit本質就是一個可以跑node 的瀏覽器,所以,我們用web 開發的技巧來開發pc 客戶端毫無問題.
首先,打開toolbar,在package.json文件裡面有個toolbar的參數,設置為true即可,就會見到如下圖所示:
toolbar
點擊那個三橫線的按鈕,一個chrome 風的調試窗口就出來了.
console
開發的時候,我們修改完文件,並不需要重新運行程序來看結果,我們,可以直接點擊左邊的刷新按鈕即可看到我們修改的運行結果.用node-webkit開發客戶端是不是很方便了!
那麼接下來,要開發一個oschina pc 客戶端,我們只需要知道,相關api 就行了,從android 客戶端源碼裡面可以得到相關api...具體代碼在app/model/oschinaApi.js 文件裡面.
node-webkit,已經吧相關的安全限制已經去掉,所以說,用node-webkit開發pc客戶端,用webkit 發的請求不受同源限制. 用node-webkit 開發一些restful 應用是非常舒服的事情,只要有個不錯的界面.關於node-webkit的東西也就這么些了,剩下的就是web 開發,不在本文node-webkit范圍內,所以就不再啰嗦..
❼ linux 怎樣搭建qtwebkit使用的gstreamer
1. 編譯libxml2
下載libxml2-sources-2.7.6.tar.gz
解包後在當前目錄下編寫如下編譯腳本:(當然,不用腳本也行,你可以直接執行)】
CC=arm-none-linux-gnueabi-gcc./configure--build=i686-linux--host=arm-none-linux--prefix=/home/work/dist--without-python
make&&makeinstall
2. 編譯zlib, 這個太common,我不啰嗦了, glib-2.0要依賴的。
3. 編譯glib-2.0
下載glib-2.24.2.tar.bz2, 解包, 這個版本的依賴庫很少, 竟然只需要zlib。
老版本需要的libconv, gettext等均不需要了。
同樣, 編寫編譯腳本:
CC=arm-none-linux-gnueabi-gcc./configure--build=i686-linux--host=arm-none-linux
--prefix=/home/work/dist
CFLAGS="-I/home/work/dist/include-L/home/work/dist/lib"
glib_cv_stack_grows=noglib_cv_uscore=noac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yesac_cv_lib_rt_clock_gettime=noglib_cv_monotonic_clock=yes
make&&makeinstall
4. 編譯gstreamer
下載gstreamer-0.10.35.tar.gz, 這個是0.10版本裡面最新的了。
編譯腳本:
CC=arm-none-linux-gnueabi-gccPKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig./configure--build=i686-linux--host=arm-none-linux
--prefix=/home/work/distCFLAGS=-I/home/work/dist/include--disable-registry--disable-loadsave--disable-gtk-doc
ac_cv_func_register_printf_function=no--disable-tests--disable-valgrind--disable-debug--disable-gst-debug
make&&makeinstall
5. 編譯gst plugins base
下載gst-plugins-base-0.10.35.tar.gz。
編譯腳本:
CC=arm-none-linux-gnueabi-gccPKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig./configure--build=i686-linux--host=arm-none-linux
--prefix=/home/work/distCFLAGS=-I/home/work/dist/include--disable-valgrind--disable-x--disable-gnome_vfs--disable-alsa--disable-ogg--disable-pango--disable-theora--disable-vorbis--disable-examples
make&&makeinstall
接下來開始編譯Qt
Qt的配置文件很復雜, 我就不寫出來了, 就是要注意這三點:
1. 在Qt 的configure 時加上-force-pkg-config, 否則會在WebCore的feature.pri中檢查時報"Disabling video e the lack of GLib/Gio/GStreamer.",
也就是說會不支持video.
具體可以看這個pri片段:
!contains(QT_CONFIG,no-pkg-config):system(pkg-config--existsglib-2.0gio-2.0gstreamer-0.10):{
DEFINES-=ENABLE_VIDEO=0
DEFINES+=ENABLE_VIDEO=1
DEFINES+=WTF_USE_GSTREAMER=1
DEFINES-=WTF_USE_GSTREAMER=0
}else{
message("DisablingvideoethelackofGLib/Gio/GStreamer.")
DEFINES-=ENABLE_VIDEO=1
DEFINES+=ENABLE_VIDEO=0
}
如果不指定-force-pkg-config, 就會被當作no-pkg-config.
2. 為configure指定:PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig, 否則也會diabling video
3. 為了讓webkit庫能找到gstreamer等庫, 還需要在webkit.pro中加上
❽ 怎樣自行開發一個Webkit內核的瀏覽器
首先為什麼需要使用webkit或chrome瀏覽器內核?本人之前一直使用IE控制項中的IE瀏覽器,對於簡單的開發已經夠用了,但是IE有它的詬病,特立獨行,對HTML5新特性兼容性非常差,由於近期在研究HTML5以及2.5D和3D地圖相關技術,所以一開始就摒棄了使用IE內核的想法。關於windows下使用chrome瀏覽器內核或webkit內核,已經專研了好幾天,一直在碰壁,我相信也有不少網友也跟我一樣,查閱了幾天都沒有任何進展,下面我說說這幾天查閱資料遇到的問題:
(1)關於webkit或chrome相關源碼都需要編譯,而且編譯環境相當復雜,很多時候按照文章流程走,要麼走不通,要麼出一連串解決不了的錯誤,最終心灰意冷,直到放棄(大多數搞windows開發的在編譯這塊都缺少相關經驗,不比linux開發員);
(2)能找到人家已經編譯好的webkit或chrome內核庫,但是不是最新的庫,很多都是2012年之前的,太老的,對於近幾年HTML5的飛速發展,我想那些陳舊的庫已經不再適用了。
❾ 我現在有一個自己定製的linux系統,自己也編譯好了webkit,怎麼樣使系統運行後自動運行webkit瀏覽器並顯示
運行webkit瀏覽器你得先讓它有桌面環境哦,親
然後才能啟動圖形化的瀏覽器
你得先讓它啟動直接進入桌面環境
在你的桌面管理器里設定打開瀏覽器
類似於windows的開始--> 啟動 項
❿ 如何從android源碼中編譯webkit
android本來自帶了webkit瀏覽器,但是要對其進行custom就需要android源代碼才行, 但是在沒有源碼的情況下,那麼就需要用到ndk了,比如,我是在xoom上做custom webkit的。 雖然ndk提供的庫很少,而且沒有skia,但是好在有bitmap,這樣顯示慢了點,沒有硬加速,但不是不可能。 webkit需要的第三方庫,freetype,png,jpeg,sqlite3等雖然android源碼中有,但是ndk沒有開放, 因此所有的第三方庫,freetype,png,jpeg,sqlite3,cairo,curl,fontconfig,pixman,iconv等 都需要用ndk cross-compile成靜態庫,然後鏈接到最終的動態庫中。 選擇iconv是icu太大,而且沒有多語言的需求,選擇cairo+pixman是skia的移植性不好,而且cairo支持很多種backend。 編譯第三方庫需要用到autoconfig,ndk中有如何生成交叉編譯鏈的文檔,然後在configure時使用這個工具鏈就可以了, 但是android用到的是bionic庫,因此會有很少的地方需要修改,有些庫也不能生成test程序,但是靜態庫是沒問題的。 利用ndk生成的交叉工具鏈,在加上webkit自帶的cmake編譯系統,生成webkit的動態庫是沒有問題的, 當然是webkit的內核,而且有些平台相關的部分代碼需要修改,但是只要是以linux平台為基礎,修改還是很容易的, 我移植的webkit是先移植到linux平台上,然後移植到android平台上的,所以修改相對少了很多, 但是修改大多都在WebCore/platform下,在選擇了的平台相關庫後,做相應的配置和修改, 其次是在WebKit目錄,這個主要是支持和使用WebCore,因此在需求不是整個瀏覽器,而只是正常地顯示網頁時, 還是可以寫的比較簡單的。