亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 面向?qū)崟r(shí)嵌入式系統(tǒng)的圖形用戶界面支持系統(tǒng)――minigui 編譯、安裝和配置 .htm

?? 一種 操作系統(tǒng) 一種操作系統(tǒng)
?? HTM
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
<html><head><!-- *****  comments #1: Meta Information  - can be editted *****--><title>面向?qū)崟r(shí)嵌入式系統(tǒng)的圖形用戶界面支持系統(tǒng)――MiniGUI編譯、安裝和配置</title><meta content="text/html; charset=GB2312" http-equiv="Content-Type" /><meta name="ROBOTS" content="index,follow"/><meta content="linux, linux tutorials, linux training, linux standards, linux code, linux resources, linux programming, open source standards, linux how to, IBM, linux 教程, linux 培訓(xùn),Linux 文章, Linux 論文, linux 標(biāo)準(zhǔn), Linux 白皮書(shū) linux 代碼, linux 參考資料, linux 編程, 開(kāi)放源碼標(biāo)準(zhǔn)" name="KEYWORDS" /><meta content="實(shí)時(shí),嵌入,圖形用戶界面,MiniGUI,編譯,安裝,配置" name="KEYWORDS" /><meta content="對(duì)開(kāi)放源碼的自由軟件來(lái)說(shuō),程序員得到的通常是源代碼。在編譯源代碼并正確安裝和配置的過(guò)程中,往往會(huì)涉及到許多工具和函數(shù)庫(kù),因此其過(guò)程經(jīng)常顯得有些繁復(fù),從而也導(dǎo)致許多程序員望而生畏。本文重點(diǎn)介紹了 MiniGUI 的編譯、安裝和配置過(guò)程,解釋了該過(guò)程中要使用的工具,并說(shuō)明了 MiniGUI 的配置選項(xiàng)。本文可幫助程序員快速正確地安裝和配置 MiniGUI。" name="ABSTRACT" /><meta content="papers_html" name="dWCategory" /><meta content="Linux" name="zone" /><meta content="對(duì)開(kāi)放源碼的自由軟件來(lái)說(shuō),程序員得到的通常是源代碼。在編譯源代碼并正確安裝和配置的過(guò)程中,往往會(huì)涉及到許多工具和函數(shù)庫(kù),因此其過(guò)程經(jīng)常顯得有些繁復(fù),從而也導(dǎo)致許多程序員望而生畏。本文重點(diǎn)介紹了 MiniGUI 的編譯、安裝和配置過(guò)程,解釋了該過(guò)程中要使用的工具,并說(shuō)明了 MiniGUI 的配置選項(xiàng)。本文可幫助程序員快速正確地安裝和配置 MiniGUI。" name="DESCRIPTION" /><meta content="public" name="SECURITY" /><meta content="2000xxxx" name="LAST UPDATED" /><!-- *****  end Meta Information  *****--><!-- *****  DO NOT EDIT FOLLOWING CODE  *****--><script language="JavaScript"><!--	function nav_pulldown(list) {top.document.location.href = list.options[list.selectedIndex].value;}	function wB(){var br="BR";if((navigator.userAgent.indexOf('Mozilla')!= -1)&&((navigator.userAgent.indexOf('Spoofer')==-1)&&(navigator.userAgent.indexOf('compatible')==-1))){br="NS"}return br}	function wV(br){var bv=0;bv=navigator.appVersion.substring(0,1);if(br=="IE"){(parseInt(bv));}if(br=="NS"){(parseInt(bv));}return bv;}	function wP(){var os="OS";if(navigator.userAgent.indexOf("OS/2")!=-1){os='os/2'}return os;}b=wB();v=wV(b);o=wP();	function change_bgColor() {if (b=="NS" && v==2 && o != "os/2"){document.bgColor="#999999"}}	function gotosite() {var L = document.formSpinbox.pickWW.selectedIndex; location.href = document.formSpinbox.pickWW.options[L].value; return false;}//--> </script></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr colspan="3"><td width="8"><!-- gutter--><img height="1" src="/developerWorks/cn/i/c.gif" width="8"  alt=""/></td><td><font face="helvetica, helv, arial" size="-1"> </font></td></tr><!-- *****  comments #3: bread crumb trail *****--><!-- *****  comments #4: enter the pdf link and size *****--><tr><td valign="top" width="8"><!-- gutter--><img height="1" src="/developerWorks/cn/i/c.gif" width="8"  alt=""/></td><td valign="top"><!-- *****  comments #5: enter the Title, subtitle, author name, job title, and month/year article was initially published *****--><br /><p><strong class="title">面向?qū)崟r(shí)嵌入式系統(tǒng)的圖形用戶界面支持系統(tǒng)――MiniGUI</strong><br /><strong class="subtitle">編譯、安裝和配置</strong></p><p>魏永明<br /> 藍(lán)點(diǎn)軟件(北京)研發(fā)中心技術(shù)主管<br /> 2000/10/27</p><!-- END title and author lines--><!-- Editor #5: Begin Table of Contents--><p><table align="right" border="0" cellpadding="0" cellspacing="0" width="137"><tr><td align="center" bgcolor="#cc6633"><font color="#ffffff" face="helvetica,helv,arial" size="-1"><b>內(nèi)容:</b> </font></td></tr><tr><td bgcolor="#000000" width="100%"><font face="helvetica,helv,arial" size="-3"><img alt="" border="0" height="1" src="/developerWorks/cn/i/c.gif" width="1" /> </font></td></tr><tr><td bgcolor="#ffffff" width="100%"><font face="helvetica,helv,arial" size="-3"><img alt="" border="0" height="4" src="/developerWorks/cn/i/c.gif" width="1" /> </font></td></tr><tr><td><font face="helvetica,helv,arial" size="-2"><a herf="#1">Linux </a> </font><a href="#1"><font size="-2"> 下的軟件維護(hù)和建立工具 </font></a></td></tr><tr><td><font face="helvetica,helv,arial" size="-2"><a herf="#2">MiniGUI </a> </font><a href="#2"><font size="-2"> 的依賴庫(kù) </font></a></td></tr><tr><td><font face="helvetica,helv,arial" size="-2"><a herf="#3"></a> </font><a href="#3"><font size="-2">安裝  </font><font face="helvetica,helv,arial" size="-2"> MiniGUI  </font><font size="-2"> 的依賴庫(kù) </font></a></td></tr><tr><td><font face="helvetica,helv,arial" size="-2"><a herf="#4"></a> </font><font size="-2">編譯并安裝  </font><font face="helvetica,helv,arial" size="-2"> MiniGUI </font></td></tr><tr><td><font face="helvetica,helv,arial" size="-2"><a herf="#resources">MiniGUI </a> </font><a href="#resources"><font size="-2"> 的配置 </font></a></td></tr><tr><td><font face="helvetica,helv,arial" size="-2"><a herf="#author"></a> </font><a href="#author"><font size="-2">作者 </font></a></td></tr><tr><td bgcolor="#000000"><font size="-3"><img height="3" src="/developerWorks/cn/i/c.gif" width="137"  alt=""/> </font></td></tr></table><!-- End Table of Contents--><!-- comments #6: html content of the paper--></p><p><em>對(duì)開(kāi)放源碼的自由軟件來(lái)說(shuō),程序員得到的通常是源代碼。在編譯源代碼并正確安裝和配置的過(guò)程中,往往會(huì)涉及到許多工具和函數(shù)庫(kù),因此其過(guò)程經(jīng)常顯得有些繁復(fù),從而也導(dǎo)致許多程序員望而生畏。本文重點(diǎn)介紹了 MiniGUI 的編譯、安裝和配置過(guò)程,解釋了該過(guò)程中要使用的工具,并說(shuō)明了 MiniGUI 的配置選項(xiàng)。本文可幫助程序員快速正確地安裝和配置 MiniGUI。</em></p><a name="1"><p><strong class="subhead">1 Linux 下的軟件維護(hù)和建立工具</strong><br />對(duì)開(kāi)放源碼的自由軟件來(lái)說(shuō),程序員得到的通常是源代碼。在編譯源代碼并正確安裝和配置的過(guò)程中,往往會(huì)涉及到許多工具和函數(shù)庫(kù),因此其過(guò)程經(jīng)常顯得有些繁復(fù)。MiniGUI也不例外。為了說(shuō)明 MiniGUI 的正確編譯和安裝過(guò)程,我們有必要首先了解 Linux 系統(tǒng)下用于軟件維護(hù)和建立的工具。</p><br />1.1 make 和 makefile <br /><br />make 是 Linux 下最常用的二進(jìn)制程序、函數(shù)庫(kù)的建立生成工具。make 運(yùn)行時(shí)要根據(jù)當(dāng)前目錄下的 makefile 文件(一般是 Makefile),確定要生成什么樣的二進(jìn)制文件,以及對(duì)應(yīng)的命令。我們還可以在 makefile 文件中建立要生成的目標(biāo)與源代碼之間的依賴關(guān)系,從而可以讓 make 工具根據(jù)時(shí)間自動(dòng)判斷是否需要通過(guò)中間過(guò)程而生成最終目標(biāo)。盡管通過(guò) makefile 文件可以組織一個(gè)大的項(xiàng)目,但往往手工編寫(xiě)一個(gè) makefile 文件并不是一件輕松的事情,并且在需要維護(hù)一個(gè)源代碼的目錄樹(shù)時(shí),makefile 文件的維護(hù)工作就會(huì)大大增加。為此,GNU 又開(kāi)發(fā)了 Autoconfi/Automake 工具,可以用來(lái)自動(dòng)生成 makefile 文件,并且能夠檢查系統(tǒng)的配置信息,從而幫助提供源代碼的可移植性。  <br />1.2 Autoconf/Automake  <br />GNU 的 Autoconf 及 Automake 這兩個(gè)軟件實(shí)際是由若干 Shell 腳本組成的,它可以幫助程序員輕松產(chǎn)生 makefile 文件?,F(xiàn)在的各種自由軟件,如Apache、MySQL 等都是利用Autoconf,Automake 實(shí)現(xiàn)自動(dòng)配置和編譯的。MiniGUI 也采用了 Autoconf/Automake 接口。用戶只要使用"./configure"、"make"、"make install" 就可以把程序編譯并安裝到系統(tǒng)中。 <br />為了更好地了解 Autoconf 和 Automake,我們需要對(duì) makefile 作一簡(jiǎn)單回顧。Makefile 基本上就是"目標(biāo)"(target)、"依賴性"(dependencies)和"動(dòng)作"三者所組成的一系列規(guī)則。而 make 就是根據(jù) makefile 文件的規(guī)則決定如何編譯(compile)和連接 (link)程序或者其它動(dòng)作。當(dāng)然,make 可做的不只是編譯和連接程序,例如 FreeBSD 的 port collection 中,Makefile還可以做到自動(dòng)下載遠(yuǎn)程程序,解壓縮(extract),打補(bǔ)丁 (patch),然后編譯并安裝到系統(tǒng)中。 <br />Makefile 基本結(jié)構(gòu)雖然很簡(jiǎn)單,但是妥善運(yùn)用這些規(guī)則就可以變換出許多不同的花樣。卻也因?yàn)檫@樣,許多人剛開(kāi)始學(xué)寫(xiě)makefile 時(shí)會(huì)覺(jué)得沒(méi)有規(guī)范可以遵循,每個(gè)人寫(xiě)出來(lái)的makefile都不大一樣,不知道從哪里下手,而且常常會(huì)受到開(kāi)發(fā)環(huán)境的限制,只要環(huán)境參數(shù)不同或者路徑更改,可能 makefile 就得跟著修改。雖然有GNU Makefile Conventions (GNU Makefile慣例)制訂出一些在進(jìn)行 GNU 程序設(shè)計(jì)時(shí)編寫(xiě) makefile 的一些標(biāo)準(zhǔn)和規(guī)范,但是其內(nèi)容很長(zhǎng)而且很復(fù)雜,并且經(jīng)常作一些調(diào)整,為了減輕程序開(kāi)發(fā)人員維護(hù)makefile 的負(fù)擔(dān),就出現(xiàn)了Automake。 <br />利用Automake,編程者只需要寫(xiě)一些預(yù)先定義好的宏(macro),提交給Automake處理,就會(huì)產(chǎn)生一個(gè)可以供 Autoconf 使用的 Makefile.in文件。再配合使用 Autoconf產(chǎn)生的自動(dòng)配置文件 configure 即可產(chǎn)生一份符合 GNU Makefile 慣例的 Makeifle 了。 <br /> 在開(kāi)始使用 Automake 之前,首先確認(rèn)你的系統(tǒng)安裝有如下軟件: <ul><li> GNU Automake </li><li> GNU Autoconf </li><li> GNU m4 </li><li> perl </li><li> GNU Libtool (如果你需要產(chǎn)生共享庫(kù)) </li></ul><br />最好也使用 GNU C/C++ 編譯器、GNU Make 以及其它 GNU 的工具程序來(lái)作為開(kāi)發(fā)的環(huán)境,這些工具都是屬于 GPL 的自由軟件,不但免費(fèi)而且功能強(qiáng)大。如果你是使用 Red Hat Linux,可以找到所有上述軟件的 rpm 文件。 <br /> 利用 configure 所產(chǎn)生的 Makefile文件有幾個(gè)預(yù)先設(shè)定的目標(biāo)可供使用,這里只對(duì)其中幾個(gè)簡(jiǎn)述如下。 <ul><li> make all 產(chǎn)生設(shè)定的目標(biāo)。只敲入make 也可以,此時(shí)會(huì)開(kāi)始編譯源代碼,然后連接并產(chǎn)生執(zhí)行文件。 </li><li> make clean 清除之前所編譯的可執(zhí)行文件及目標(biāo)文件(*.o)。 </li><li>make distclean 除了清除可執(zhí)行文件和目標(biāo)文件以外,也把 configure 所產(chǎn)生的 Makefile 清除掉。 通常在發(fā)布軟件前執(zhí)行該命令。 </li><li> make install 將程序安裝到系統(tǒng)中,若源碼編譯成功,且執(zhí)行結(jié)果正確,便可以把程序安裝到系統(tǒng)預(yù)先設(shè)定的執(zhí)行文件存放路徑中,若用 bin_PROGRAMS 宏的話,程序會(huì)被安裝到 /usr/local/bin下。 </li><li> make dist 將程序和相關(guān)的文檔包裝為一個(gè)壓縮文檔以供發(fā)布。執(zhí)行完在目錄下會(huì)產(chǎn)生一個(gè)以PACKAGE-VERSION.tar.gz 為名稱的文件。PACKAGE 和 VERSION 這兩個(gè)參數(shù)是根據(jù) configure.in 文中 AM_INIT_AUTOMAKE(PACKAGE, VERSION) 的定義。 </li><li> make distcheck 和 make dist 類似,但是加入檢查包裝以后的壓縮文件是否正常,這個(gè)目標(biāo)除了把程序和相關(guān)文檔包裝成 tar.gz 文件外,還會(huì)自動(dòng)把這個(gè)壓縮文件解開(kāi),執(zhí)行 configure,并執(zhí)行 make all ,確認(rèn)編譯無(wú)錯(cuò)誤以后,方顯示這個(gè) tar.gz 文件已經(jīng)準(zhǔn)備好并可以發(fā)布了。 </li></ul><br /> 要注意的是,利用 Autoconf 及 Automake 所產(chǎn)生出來(lái)的軟件套件是可以在沒(méi)有安裝 Autoconf 及 Automake 的環(huán)境使用的,因?yàn)?configure 是一個(gè) shell script,它己被設(shè)計(jì)為可以在一般 Unix 的 sh 這個(gè) shell 下執(zhí)行。但是如果要修改 configure.in 及 Makefile.am 文件再產(chǎn)生新的 configure 及 Makefile.in 文件時(shí)就一定要有 Autoconf 及 Automake 了。  <br /> 1.3 ldd 和 ldconfig  <br />ldd 是用來(lái)檢查可執(zhí)行文件所需要的共享庫(kù)。例如:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ ldd /bin/ls        libtermcap.so.2 =&gt; /lib/libtermcap.so.2 (0x4001c000)        libc.so.6 =&gt; /lib/libc.so.6 (0x40020000)        /lib/ld-linux.so.2 =&gt; /lib/ld-linux.so.2 (0x40000000)</pre></td></tr></table><br />我們?cè)?/bin/ls 程序上運(yùn)行 ldd 命令,就可以檢查該程序所使用的共享庫(kù)。注意在 ldd 命令打印的結(jié)果中,“=&gt;”左邊的表示該程序需要連接的共享庫(kù)之 so 名稱,右邊表示由 Linux 的共享庫(kù)系統(tǒng)找到的對(duì)應(yīng)的共享庫(kù)在文件系統(tǒng)中的具體位置。默認(rèn)情況下,/etc/ld.so.conf 文件中包含有默認(rèn)的共享庫(kù)搜索路徑,例如:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>/usr/X11R6/lib/usr/lib/usr/i486-linux-libc5/lib/usr/lib/qt-2.0.1/lib/usr/lib/qt-1.44/lib/usr/lib/qt-2.1.0/lib/usr/kerberos/lib/usr/lib/qt-1.45/lib</pre></td></tr></table><br />如果 ldd 沒(méi)有找到對(duì)應(yīng)的共享庫(kù)文件的具體位置,可能是兩種情況引起的: <ol><li>共享庫(kù)沒(méi)有安裝在該系統(tǒng)中; </li><li>共享庫(kù)保存在 /etc/ld.so.conf 文件列出的搜索路徑之外的位置。 </li></ol><br />通常情況下,許多開(kāi)放源代碼的程序或函數(shù)庫(kù)都會(huì)默認(rèn)將自己安裝到 /usr/local 目錄下的相應(yīng)位置(/usr/local/bin 或 /usr/local/lib),以便與系統(tǒng)自身的程序或函數(shù)庫(kù)相區(qū)別。而許多 Linux 系統(tǒng)的 /etc/ld.so.conf 文件中默認(rèn)又不包含 /usr/local/lib。因此,往往會(huì)出現(xiàn)已經(jīng)安裝了共享庫(kù),但是卻無(wú)法找到共享庫(kù)的情況。這時(shí),就應(yīng)該檢查 /etc/ld.so.conf 文件,如果其中缺少 /usr/local/lib 目錄,就應(yīng)該添加進(jìn)去。 <br />在修改了 /etc/ld.so.conf 文件或者在系統(tǒng)中安裝了新的函數(shù)庫(kù)之后,還要運(yùn)行一個(gè)命令,即 ldconfig。該命令用來(lái)刷新系統(tǒng)的共享庫(kù)緩存,即 /etc/ld.so.cache 文件。為了減少共享庫(kù)系統(tǒng)的庫(kù)搜索時(shí)間,共享庫(kù)系統(tǒng)維護(hù)了一個(gè)共享庫(kù) so 名稱的緩存文件。因此,在安裝新的共享庫(kù)之后,一定要運(yùn)行 ldconfig 刷新該緩存。  <a name="2"><p><strong class="subhead">2 MiniGUI 的依賴庫(kù)</strong><br />為了正確安裝 MiniGUI,需要了解 MiniGUI 的正常運(yùn)行需要哪些函數(shù)庫(kù),也即 MiniGUI 的依賴庫(kù)。在編譯 MiniGUI 之前,首先要確保正確安裝了所需的依賴庫(kù)。 </p><br />2.1 LibGGI 或者 SVGALib  <br />這兩個(gè)函數(shù)庫(kù)可以為 MiniGUI 提供底層圖形支持,我們稱之為“圖形引擎”。其中 SVGALib 是一個(gè)比較老的函數(shù)庫(kù),只提供對(duì) Linux 控制臺(tái)的支持;LibGGI 是一個(gè)比較新的圖形函數(shù)庫(kù),提供了對(duì) Linux 控制臺(tái)、X Window 等的支持,并且接口相對(duì)簡(jiǎn)單。要正確使用 MiniGUI,需要安裝 LibGGI 或者 SVGALib 的修訂版。筆者建議安裝 LibGGI,因?yàn)樗峁┝藢?duì) Linux 控制臺(tái)和 X 的支持。在 Linux 下,建立在 LibGGI 之上的程序既可以運(yùn)行在 Linux 控制臺(tái)上,也可以運(yùn)行在 X Window 上,從而可以提高程序的可移植性。并且對(duì) MiniGUI 來(lái)說(shuō),如果能夠運(yùn)行在 X Window 上,就可以大大方便程序的調(diào)試。LibGGI 的另外一個(gè)好處就是在 Linux 控制臺(tái)上,它可以運(yùn)行在 Linux 2.2 內(nèi)核所提供的 FrameBuffer 驅(qū)動(dòng)程序之上,而不需要對(duì)顯示芯片進(jìn)行直接的硬件編程,因而也不需要超級(jí)用戶權(quán)限去運(yùn)行程序。這點(diǎn)和 SVGALib 不同,SVGALib 不支持 FrameBuffer,同時(shí)需要超級(jí)用戶權(quán)限。 <br />如果讀者使用的是 Linux 內(nèi)核 2.0.xx,就必須使用 SVGALib。這個(gè)函數(shù)庫(kù)實(shí)際是兩個(gè)庫(kù)組成的,即 vga 和 vgagl。MiniGUI 使用的是 vgagl,該函數(shù)庫(kù)在 vga 之上運(yùn)行,提供了較好的圖形函數(shù)。但是,我們不能使用標(biāo)準(zhǔn)的 SVGALib 函數(shù)庫(kù),因?yàn)樵摵瘮?shù)庫(kù)和 Linux 上的 Pthread 函數(shù)庫(kù)相沖突――它們均使用了 SIGUSR1 和 SIGUSR2 這兩個(gè)由操作系統(tǒng)保留給應(yīng)用程序的信號(hào),從而會(huì)導(dǎo)致不可預(yù)料的結(jié)果。為此,我們對(duì) SVGALib 進(jìn)行了修改。讀者應(yīng)該使用經(jīng)過(guò)我們修改的 SVGALib 函數(shù)庫(kù),該函數(shù)庫(kù)同時(shí)提供了用于處理 GB2312 字體顯示的函數(shù)。還要注意的是,標(biāo)準(zhǔn) SVGALib 的 vgagl 庫(kù)不提供對(duì)標(biāo)準(zhǔn) VGA 16 色模式的支持,因此,如果要在 VGA 16 色模式下運(yùn)行 MiniGUI,需要下載 vgagl4 函數(shù)庫(kù)。 <br />以上提到的函數(shù)庫(kù)可以從如下 URL 處下載:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>ftp://ftp.minigui.org/pub/dep-libs/libggi-2.1beta2.0-20000316.tgzftp://ftp.minigui.org/pub/dep-libs/ svgalib-1.4.0-hz.tar.gzftp://ftp.minigui.org/pub/dep-libs/ vgagl4-0.1.0.tar.gz</pre></td></tr></table><br />也可以訪問(wèn)上述兩個(gè)自由軟件項(xiàng)目的站點(diǎn):  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>http://www.ggi-project.orghttp://www.svgalib.org</pre></td></tr></table>  2.2 LibTTF 和 LibT1  <br />這兩個(gè)函數(shù)庫(kù)分別提供對(duì) TrueType 字體和 Adobe Type1 字體的支持。對(duì) MiniGUI 來(lái)說(shuō),這兩個(gè)函數(shù)庫(kù)是可選的。如果需要 TrueType 和 Adobe Type1 字體的支持,則需要首先安裝這兩個(gè)函數(shù)庫(kù),否則就不必安裝。MiniGUI 的 configure 腳本可以自動(dòng)檢查系統(tǒng)中是否安裝有這兩個(gè)函數(shù)庫(kù),如果沒(méi)有安裝,則會(huì)取消對(duì) TrueType 和 Adobe Type1 字體的支持。 <br />現(xiàn)在的 Linux 發(fā)行版默認(rèn)會(huì)安裝 LibTTF(即 FreeType 庫(kù))。但是,需要注意的是 MiniGUI 所使用的 LibTTF 是 1.3.xx 版本的。如果已安裝的 LibTTF 版本不同,則可能因?yàn)榧嫒菪詥?wèn)題而無(wú)法正確編譯 MiniGUI。因此,需要事先確認(rèn) LibTTF 的版本號(hào),可通過(guò)  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ ls -l /usr/lib/libttf*</pre></td></tr></table><br />命令來(lái)檢查已安裝的 LibTTF 庫(kù)的版本號(hào),其中的共享庫(kù)文件名中包含了該函數(shù)庫(kù)的版本號(hào)。 <br />以上提到的函數(shù)庫(kù)可以從如下 URL 處下載:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>ftp://ftp.minigui.org/pub/minigui/freetype-1.3.1.tar.gzftp://ftp.minigui.org/pub/minigui/t1lib-1.0.1.tar.gz</pre></td></tr></table>  2.3 其他函數(shù)庫(kù)  <br />其他 MiniGUI 所依賴的函數(shù)庫(kù)包括 libjpeg,提供 POSIX 兼容線程支持的 LinuxThreads,用來(lái)分析命令參數(shù)的 popt 庫(kù)等等。一般的 Linux 發(fā)行版中均已包含有這些函數(shù)庫(kù)。 </a> <a name="3"><p><strong class="subhead">3 安裝 MiniGUI 的依賴庫(kù) </strong><br />除 SVGALib 之外,上面提到的 MiniGUI 的依賴庫(kù)提供有 automake/autoconf 接口,從而可以非常方便地編譯并安裝這些依賴庫(kù)。其中 LibGGI 稍微有些例外,該函數(shù)庫(kù)已經(jīng)提供了一個(gè)批處理腳本,可以幫助你編譯并安裝 LibGGI 的所有函數(shù)庫(kù),其中包括用來(lái)處理輸入(鍵盤(pán)、鼠標(biāo)等)的 libgii,用來(lái)處理圖形輸出的 libggi 等。對(duì) MiniGUI 來(lái)說(shuō),只需安裝 libgii 和 libggi。在下載 libggi-2.1beta2.0-20000316.tgz 文件之后,運(yùn)行 </p><table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ tar zxf libggi-2.1beta2.0-20000316.tgz</pre></td></tr></table><br />可解開(kāi)該 tgz 包,并在當(dāng)前目錄中建立 degas 子目錄。進(jìn)入 degas/lib/ 目錄,運(yùn)行 ./buildall 腳本,就可以編譯并安裝 libgii、libggi 等函數(shù)庫(kù)。注意應(yīng)該以 root 身份運(yùn)行 buildall 腳本。如果要單獨(dú)編譯某個(gè)函數(shù)庫(kù),可以進(jìn)入相應(yīng)的目錄,然后按照正常的編譯過(guò)程進(jìn)行編譯。比如,要重新編譯 libggi,可運(yùn)行如下命令:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ cd libggi$ ./autogen.sh$ ./configure$ make$ su -c  make install</pre></td></tr></table><br />注意在編譯 libggi 之前,首先要編譯并安裝 libgii 庫(kù)。 <br />對(duì) SVGALib 來(lái)說(shuō),只要解開(kāi)軟件包并運(yùn)行 make 就可以編譯并安裝函數(shù)庫(kù)。 <br />注意在安裝完成每個(gè)函數(shù)庫(kù)之后,要運(yùn)行 ldconfig 命令更新共享庫(kù)的搜索緩存,并確保將 /usr/local/lib 目錄添加到 /etc/ld.so.conf 文件。 </a> <a name="4"><p><strong class="subhead">4 編譯并安裝 MiniGUI </strong><br />在安裝好 MiniGUI 的上述依賴庫(kù)之后,就可以編譯并安裝 MiniGUI 了。首先下載 MiniGUI 的三個(gè) tgz 壓縮包: </p><table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>ftp://ftp.minigui.org/pub/minigui/0.9.92/libminigui-0.9.92.tar.gzftp://ftp.minigui.org/pub/minigui/0.9.92/miniguiapps-0.9.92.tar.gzftp://ftp.minigui.org/pub/minigui/0.9.92/miniguiexec-0.9.92.tar.gzftp://ftp.minigui.org/pub/minigui/0.9.92/miniguires-0.9.92.tar.gz</pre></td></tr></table><br />其中的libminigui-x.x.xx.tar.gz 是 MiniGUI 函數(shù)庫(kù)本身。其中包含有三個(gè)函數(shù)庫(kù),即 libminigui、libmywins、和 libvcongui。miniguiapps-x.x.xx.tar.gz 是基于 MiniGUI 的應(yīng)用程序軟件包,目前包含兩個(gè)游戲,即 bomb(掃雷)和 russia(俄羅斯方塊),以及一個(gè)基于 MiniGUI 的 Linux 控制臺(tái)仿真程序,即 vcongui,注意這些程序在安裝到系統(tǒng)之后才能正常運(yùn)行。miniguiexec-0.9.92.tar.gz 是基于 MiniGUI 的一些演示程序,不需要安裝到系統(tǒng)中。miniguires-0.9.92.tar.gz 是 MiniGUI 程序要使用的一些資源,在運(yùn)行任何基于 MiniGUI 的程序之前,要首先安裝資源,其中包括位圖、圖標(biāo)、鼠標(biāo)等等。  4.1 編譯并安裝 libminigui  <br />用如下命令解開(kāi)libminigui-x.x.xx.tar.gz 軟件包(以下的實(shí)例均以 0.9.92 版,即 MiniGUI 最新版為例):  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ tar zxf libminigui-0.9.92.tar.gz</pre></td></tr></table><br />該命令將在當(dāng)前目錄建立 libminigui-0.9.92 目錄。進(jìn)入該目錄,然后運(yùn)行如下命令:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ cd libminigui-0.9.92$ ./autogen.sh</pre></td></tr></table><br />autogen.sh 是一個(gè)簡(jiǎn)單的腳本程序,該腳本將執(zhí)行 automake 和 autoconf,并在當(dāng)前目錄生成 configure 腳本。 <br />運(yùn)行 ./configure --help腳本將給出如下一個(gè)可用的命令行參數(shù)清單,注意該命令的最后幾行清單說(shuō)明:  <table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td><pre>$ ./configure -help

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线影院| 91精品视频网| 日日夜夜精品免费视频| 国产女同性恋一区二区| 欧美精品aⅴ在线视频| 成人av先锋影音| 蜜臀久久久99精品久久久久久| 7777精品久久久大香线蕉| 成人激情黄色小说| 老汉av免费一区二区三区| 亚洲一二三专区| 国产精品久久三| 国产视频一区二区在线| 欧美一区午夜视频在线观看| 91丝袜高跟美女视频| 国产电影一区二区三区| 久久国产乱子精品免费女| 亚洲va国产va欧美va观看| 最新国产成人在线观看| 国产三级久久久| 精品动漫一区二区三区在线观看| 欧美日韩精品一区二区天天拍小说 | 国产a久久麻豆| 开心九九激情九九欧美日韩精美视频电影| 亚洲免费看黄网站| 亚洲欧美偷拍另类a∨色屁股| 久久先锋资源网| www久久精品| 久久综合视频网| 精品对白一区国产伦| 欧美成人三级在线| 日韩午夜小视频| 日韩一级免费观看| 日韩视频在线一区二区| 欧美成人精品高清在线播放| 91精品国产综合久久精品性色| 欧美日韩一区二区三区不卡 | 国产91丝袜在线18| 国产不卡视频在线播放| 国产精品一区三区| 国产传媒日韩欧美成人| 国产精品1024久久| 成人午夜短视频| 成人a区在线观看| kk眼镜猥琐国模调教系列一区二区| 国产福利一区二区| 成人一二三区视频| 91网站最新地址| 欧美综合欧美视频| 欧美日韩成人综合天天影院| 91精品国产综合久久久久久| 日韩欧美国产三级| 久久久亚洲欧洲日产国码αv| 国产三级久久久| 国产精品日韩成人| 亚洲精品乱码久久久久久 | 国产精品一区免费视频| 高清视频一区二区| 91在线播放网址| 欧美午夜一区二区| 日韩女优毛片在线| 中文字幕av一区 二区| 亚洲欧洲成人自拍| 亚洲电影欧美电影有声小说| 蜜臀av国产精品久久久久| 国产馆精品极品| 一本色道久久综合亚洲91| 欧美精品精品一区| 国产香蕉久久精品综合网| 亚洲日本免费电影| 日本不卡视频在线观看| 国产成人精品免费一区二区| 在线亚洲人成电影网站色www| 7777精品伊人久久久大香线蕉的| 久久久亚洲精品石原莉奈| 亚洲人成7777| 麻豆久久一区二区| 99精品欧美一区二区三区小说| 欧美日本国产视频| 欧美国产综合色视频| 亚洲一区二区三区激情| 国产在线精品不卡| 欧美性受极品xxxx喷水| 26uuu国产在线精品一区二区| 一区二区在线观看视频| 久久精品国产秦先生| 95精品视频在线| 精品日韩在线观看| 亚洲一区二区三区精品在线| 国产精品一区二区久久精品爱涩 | 国产精品萝li| 日本最新不卡在线| 91丝袜国产在线播放| www国产精品av| 亚洲电影一级片| 成人黄色网址在线观看| 欧美一级夜夜爽| 亚洲视频一区二区在线观看| 国产在线精品不卡| 欧美久久一二区| 中文字幕日韩精品一区| 久久精品国产色蜜蜜麻豆| 欧美亚洲综合一区| 国产精品久久久久影院老司| 久久国产尿小便嘘嘘尿| 欧美日本在线观看| 亚洲人成小说网站色在线 | 精品一区二区免费看| 色av综合在线| 国产精品久久福利| 国产乱码精品一品二品| 日韩免费电影一区| 亚洲国产一区二区在线播放| 91网上在线视频| 国产精品拍天天在线| 国产麻豆成人精品| 欧美sm美女调教| 免费观看在线综合色| 欧美久久婷婷综合色| 亚洲尤物视频在线| 欧美制服丝袜第一页| 亚洲人成影院在线观看| 99久久综合99久久综合网站| 国产日韩欧美不卡| 国产一区二区三区在线观看免费视频| 91麻豆精品久久久久蜜臀 | av一区二区三区| 中文字幕高清不卡| 国产成人亚洲精品青草天美| 久久午夜电影网| 国产在线看一区| 久久精品视频在线看| 国产麻豆视频一区二区| 久久久久久久久97黄色工厂| 国产一区二区伦理片| 久久久综合九色合综国产精品| 韩国成人在线视频| 久久久久久久一区| 国产成人av网站| 国产精品美女视频| 99久久国产综合色|国产精品| 亚洲欧洲国产日韩| 色八戒一区二区三区| 亚洲一区二区三区自拍| 欧美美女喷水视频| 美女视频黄a大片欧美| 精品伦理精品一区| 国产福利一区二区三区视频| 国产精品美女www爽爽爽| 91视频在线观看免费| 亚洲一区二区四区蜜桃| 91精品国产一区二区三区香蕉 | 93久久精品日日躁夜夜躁欧美| 亚洲图片激情小说| 欧美日韩精品一区二区三区蜜桃| 日韩和的一区二区| 久久久久久久久久久电影| 成人黄色小视频| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩国产一级二级| 久久精品久久精品| 国产欧美日韩视频在线观看| 99riav久久精品riav| 亚洲成人精品在线观看| 日韩欧美电影在线| jlzzjlzz亚洲女人18| 亚洲国产wwwccc36天堂| 欧美r级电影在线观看| 91在线免费看| 青娱乐精品视频在线| 国产欧美视频一区二区| 91成人国产精品| 狠狠色狠狠色综合日日91app| 中文字幕一区二区三区av| 欧美日高清视频| 国产成人午夜99999| 亚洲宅男天堂在线观看无病毒| 精品久久久久一区| 色噜噜狠狠一区二区三区果冻| 久久国产尿小便嘘嘘尿| 1000部国产精品成人观看| 欧美一区二区三区四区高清| 成人一道本在线| 麻豆精品一区二区| 亚洲美女精品一区| 久久日一线二线三线suv| 色94色欧美sute亚洲线路一ni| 国模冰冰炮一区二区| 亚洲影院免费观看| 国产性天天综合网| 欧美一区二区免费| 色综合一区二区| 国产精品正在播放| 首页国产丝袜综合| 亚洲免费在线视频| 久久美女艺术照精彩视频福利播放| 日韩精品一区二区三区swag| 全国精品久久少妇| 欧美激情在线免费观看| 蜜桃精品在线观看|