一步一步搭建gtk-dfb開發環境
jiazhen
0. 概要
gtk-dfb環境存在於gdk庫中,它整合了gtk+工具集和directfb視窗系統,就像gtk-x11整合了gtk和x11,gdk-win32也起到了windows gdi一樣的作用。gtk-dfb主要面向嵌入式應用程式,而不是桌面應用程式。它不具備像x11或者gdk-win32那樣全面的功能,卻也足夠開發複雜的應用程式,比如linux下的畫圖工具gimp。
下面主要介紹gtk-dfb開發環境的搭建。
※注意:
這裡可以將gtkdfb安裝到/usr/local/dfb目錄下面,以免和系統中已經存在的x11和dfb應用程式相衝突。gtkdfb的執行依賴於以下開發庫:
jpeg
libpng
pkg-config
gettext
glib
atkfreetype
directfb
libexpat
fontconfig
pixman
cairo
pango
gtklibidl
※準備:
需要建立以下目錄
在終端設定以下的環境變數,也可以寫成指令碼檔案,如/root/export.sh
#!/bin/bash
exportld_library_path=/usr/local/dfb/lib
exportpath=/usr/local/dfb/bin/:$path
exportpkg_config_path=/usr/local/dfb/lib/pkgconfig
每次開啟終端只需執行
#source /root/export.sh
1. gtk-dfb環境搭建
1.1 安裝jpeg
1.2. 安裝tiff
1.3 安裝libpng
1.4 安裝pkg-config [edit]
1.5 安裝gettext
note: this package might not be required.
1.6 安裝glib [edit]
1.7 安裝atk [edit]
1.8 安裝freetype [edit]
1.9 安裝directfb [edit]
download url:
installation:
after installing directfb, set it up to run over sdl on x11.
as root user, run the following command
1.10 安裝libexpat
1.11 安裝fontconfig
1.12 安裝pixman
1.13 安裝cairo
installation:
1.14 安裝pango
1.15 安裝gtk
installation:
1.16 安裝libidl
2.測試gtk-dfb環境
首先設定環境變數,如果之前寫好了指令碼export.sh 可以在終端直接執行:
#source export.sh
或者一步一步執行:
#exportld_library_path=/usr/local/dfb/lib
#exportpath=/usr/local/dfb/bin/:$path
#export pkg_config_path=/usr/local/dfb/lib/pkgconfig
之前安裝了gtk開發包,預設情況下,它自動編譯了示例程式,這裡可以直接執行:
#/usr/local/dfb/bin/gtk-demo
正常的話,就會看見在藍色(也可能是別的顏色)的背景下彈出gtk視窗。會發現gtk視窗的邊框消失了,看不見標題欄,最大化及最小化按鈕了。這是因為沒有用到到視窗管理器。但是dfb提供了一些簡單的訊息處理。
meta + mouse 可以移動視窗
meta + c 可以關閉視窗
meta + x + mousr movement 可以改變視窗的層疊順序
3. 小結
以上是gtk-dfb環境的搭建和簡單測試。因為開源軟體的更新和維護非常的頻繁,所以我們需要注意到各個版本的更新,有時候需要及時打上補丁。當然最快捷的方式依照前人實際測試通過的環境來進行。
為了進一步熟悉環境,我們可以嘗試執行gimp,mozilla-dfb等經典應用例項。
一步一步搭建Nuget私服
大致流程 1.通過vs建立乙個web空專案,然後通過nuget引入nuget.server 目前最新版3.2.1 2.直接將這個web專案發布到iis。3.通過nuget.exe打包 nupkg檔案,然後拷貝到iis對應目錄。4.在vs的nuget包管理器中加入私服的位址。5.最後就可以像使用nug...
一步一步 Sql Azure
一步一步 sql azure 1.使用 windowsazure 平台賬號登陸 2.新建sqlazure server 3.新建資料庫 4.為sql azure server 新增防火牆規則,只有將本機新增到規則裡才能從本機連線到該sqlazure server 5.連線到sql azure ser...
一步一步學cscope
告之 1,我不喜歡寫部落格 因為感覺太浪費時間 2,部落格能記住自己某階段學過的東西,而這些東西可能會很快的忘卻 所以我以後要學著在部落格上浪費時間 前言 本文件記錄了我今天 2007 11 9 下午學習cscope的一點收穫,特收錄部落格以作分享。在學習cscope過程中查閱了大量的文件,但發現適...