MiniGUI 1.3.3 移植詳解
作者:大漠孤狼 E-Mail:yuqiang0107@126.com
最近移植了 MiniGUI 1.3.3 到一個開發(fā)板上,中間遇到許多問題,在論壇上發(fā)問題,結(jié)果也沒多少人回我,就算偶爾有回的,基本上回答也沒有什么用,網(wǎng)上找不到一個完整的移植文章,所以就決定把自己這次移植摸出來的一些方法寫出來,給像我一樣的小菜鳥做個參考吧。本文不教你怎么寫驅(qū)動,只是教怎么樣在最短的時候在你的PC機上搭建起開發(fā)環(huán)境,同時在你的板子上跑起MiniGUI 來,這樣你就可以在PC上開發(fā)好程序,調(diào)試完畢,然后交叉編譯一下,直接Copy到板子上就可以了。
首先,你需要下載的MiniGUI 的包:
http://www.minigui.com/download/libminigui-1.3.3.tar.gz
http://www.minigui.com/download/minigui-res-1.3.3.tar.gz
這兩個包的下載需要你在www.minigui.com 上注冊過才可以下載,免費注冊的,自己去下吧
http://www.minigui.com/downloads/minigui13/mde-1.3.0.tar.gz 圖形界面程序
http://www.minigui.com/downloads/minigui13/mg-samples-1.3.0.tar.gz 一些小例子
好,首先就下載這幾個包吧,后面還有需要下載的包,后面再說
1.PC環(huán)境的搭建
首先你需要一個 Linux 環(huán)境,我安裝的是 RedHat 9.0 安裝時記著選 everything ,這樣可以避免到時候編譯少了東西。這里搭建的環(huán)境是讓 MiniGUI 在你的 PC 上可以跑起來,這樣以后你開發(fā)程序就可以只在 PC 上開發(fā),調(diào)試好,最后交叉編譯一下放到板子上就行了。后面會講怎么為板子編譯MiniGUI ,耐心的看吧:)
首先建立自己的開發(fā)目錄
[Root]# mkdir /opt
[Root]# cd /opt
[Root]# mkdir st2410 //這個是我的板子,
[Root]# chmod 777 st2410 //給一般用戶操作權(quán)限
[user]# cd /opt/st2410 //進到目錄中去,在這個目錄下工作,用普通用戶來工作
把 libminigui-1.3.3.tar.gz 解開
[user]# tar zxf libminigui-1.3.3.tar.gz
[user]# tar zxf minigui-res-1.3.3.tar.gz
編譯 libminigui ,這個是 minigui 運行所必需的庫文件,必須編譯成功
[user]# cd libminigui-1.3.3
[user]# ./configure //最簡單的編譯方式,讓它自己去配置 ,這里采用缺省的Thread 模式而不是Lite模式,因為這種方式在 PC 機上使用最方便,后面移到板子上再改成 Lite 模式即可
注意屏幕上的輸出,特別是下面幾條
checking for FrameBuffer console support... yes
checking for pthread library... yes
checking for TT_FreeType_Version in -lttf... yes
checking for T1_InitLib in -lt1... no
checking for jpeg_std_error in -ljpeg... yes
checking for png_check_sig in -lpng... yes
其中 –lttf –lpng 必須是 yes ,不然后面你的程序肯定會有問題,如果這里不是 yes 的話,肯定是你的 Redhat 9 安裝不對,告訴過你安裝時選 everything ,你選了嗎???
其中 ttf 庫是對 TrueType 字體的支持,png 庫是對 png 圖形的支持,MiniGui 里都需要這兩個,在后面為板子交叉編譯的時候也需要這兩個,不然你的程序跑不起來,切記切記。
好了,現(xiàn)在通過了,下面是編譯了
[user]# make
接來來就是漫長的等待了,讓它慢慢的編譯吧,呵
[user]# su //切到 Root 用戶權(quán)限下,不然安裝時沒法把文件寫到你的 /usr/local 目錄下
[Root]# make install
好了,庫安裝完畢,下面是安裝資源
[Root]# cd /opt/st2410/minigui-res-1.3.3
[Root]# make install
OK,基本的安裝完成了,現(xiàn)在檢查一下
看看在你的目錄 /usr/local/lib 下是不是有以下文件
libmgext-1.3.so.3 -> libmgext-1.3.so.3.0.0
libmgext-1.3.so.3.0.0
libmgext.a
libmgext.la
libmgext.so -> libmgext-1.3.so.3.0.0
libminigui-1.3.so.3 -> libminigui-1.3.so.3.0.0
libminigui-1.3.so.3.0.0
libminigui.a
libminigui.la
libminigui.so -> libminigui-1.3.so.3.0.0
libvcongui-1.3.so.3 -> libvcongui-1.3.so.3.0.0
libvcongui-1.3.so.3.0.0
libvcongui.a
libvcongui.la
libvcongui.so -> libvcongui-1.3.so.3.0.0
里面還有一個目錄 minigui ,可以進到里面去看,分別為 minigui/res/ [bmp , cursor,icon ,…..] 好幾個目錄,里面有相應的文件
檢查 /usr/local/include 里面是不是多了一個 minigui 目錄,/usr/local/include/minigui 時面好多的 .h 文件,如下:
common.h control.h endianrw.h fixedmath.h mgext.h mywindows.h vcongui.h
config.h dti.c filedlg.h gdi.h minigui.h skin.h window.h
如果這里檢查沒有這些東西的話,那你前面的步驟肯定有問題,自己檢查一下吧。
首先,修改你的 /etc/ld.so.conf 文件,在里面最后新加入一行 /usr/local/lib
然后執(zhí)行 [Root]# ldconfig
OK !
[Root]# vi /usr/local/etc/MiniGUI.cfg
在里面找到
[system]
# GAL engine
#gal_engine=fbcon
gal_engine=qvfb //這里修改
# IAL engine
#ial_engine=console
ial_engine=qvfb //這里修改
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp //這里修改
display=0
保存一下,OK了!
現(xiàn)在你需要安裝一個 qvfb ,因為 Redhat 9 里面沒有,從下面地址下載
http://www.minigui.com/downloads/dep-libs/qvfb-1.0.tar.gz
老方法:
[user]# tar zxf qvfb-1.0.tar.gz
[user]# cd qvfb-1.0
[user]# ./configure
[user]# make
[user]# make install
在這個過程中如果出現(xiàn) error while loading shared libraries: libqt-mt.so.3: cannot open shared object file
說明你的系統(tǒng)少了 libqt-mt.so.3 這個庫,還是回去檢查一下,你安裝時Redhat 時是否選了 everything ,或者在實際操作的過程中,這個庫有可以被誤刪除掉,我就出現(xiàn)過,這時候你可以 google 一下 ,輸入 libqt-mt.so.3 redhat 9 ,應該就可以搜到相應的 rpm 包,安裝時
[root]# rpm –i --force [你的包名] 就OK了
這里有個下載地址,可以試試,我是用訊雷下載的,別的工具沒試過
ftp://ftp.pbone.net/mirror/www-ccrma.stanford.edu/planetccrma/mirror/redhat/linux/planetccrma/9/en/os/i386/qt33-3.3.3-0.1.rh90.ccrma.i386.rpm
注意:在你后面的操作過程中有可能會導致 libqt-mt.so.3 丟失,這時候只要重裝一下就OK了
解決了這個問題后重復安裝過程
[user]# ./configure
[user]# make
[user]# make install
OK ,環(huán)境搭建好了,下面是測試了:)
還記得前面讓你下載的 mg-samples-1.3.0.tar.gz 這個包吧,這個就是一些例子,現(xiàn)在試試吧:)
[user]# tar zxf mg-samples-1.3.0.tar.gz
[user]# ./configure
[user]# make
[user]# cd src
看看 src 目錄下是不是已經(jīng)編譯出可執(zhí)行文件來了
現(xiàn)在來執(zhí)行一下吧,首先把 qvfb 加到你的可執(zhí)行路徑中去
[user]# cd $HOME
[user]# vi .bashrc
在 .bashrc 最后面加上一句
export PATH="$PATH:/sbin:/usr/local/arm/2.95.3/bin:/usr/local/bin:/usr/local"
保存退出,這里面有些路徑是為以后用的,比如 /usr/local/arm/2.95.3/bin ,先加上吧:)
[user]# source .bashrc //讓它執(zhí)行一下,當然你也可以選擇重啟一下電腦,效果是一樣的,呵
執(zhí)行例子程序:
[user]# qvfb & //在圖形界面下執(zhí)行,呵,別告訴我你只在命令行工作啊 :)
在 qvfb 中選 File ? Configure ? 640x480 VGA 16bit ,這樣看起來舒服
[user]# cd /opt/st2410/ mg-samples-1.3.0/src
[user]# ./helloword
OK ,這個時候你應該可以看到在 qvfb 中的執(zhí)行效果了吧,記?。阂欢ㄒ冗\行 qvfb ,并且設置 qvfb ,然后再運行你的程序,而且qvfb 每重啟一次就需要重新設置一下,真麻煩
OK 你的 PC 環(huán)境搭建完畢了,你現(xiàn)在可以在 PC 上開發(fā)你的程序,并且編譯,并在 qvfb 中執(zhí)行,等完全驗證它是正確的了,把它交叉編譯一下,放到板子上去就可以了,呵呵:)
MiniGUI 還有一種執(zhí)行方式,就是在 Console 下在 Framebuffer 上執(zhí)行,這種方式太麻煩,在PC 上不推薦,你還是用 qvfb 執(zhí)行吧,方便,呵
在FrameBuffer 上執(zhí)行
修改 /usr/local/etc/MiniGUI.cfg 文件,如下
[system]
# GAL engine
gal_engine=fbcon
//這里修改
# IAL engine
ial_engine=console
//這里修改
mdev=/dev/mouse
mtype=none //這里改成none,因為經(jīng)常鼠標不正常
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
display=0
重啟動你的 RedHat 9 ,在出現(xiàn) Grub 的時候按 E 鍵,在 kernel =….. 這一行的最后加入 vga=0x317 ,然后 Enter ,然后在 kernel=… 這一行上按 b 就可以了,這時候可以在啟動時看到一個小企鵝的圖標,OK
進去后,直接在 例子程序的目錄下執(zhí)行 ./helloword 就可以了 :)
2.為你的實驗板進行交叉編譯
OK,PC機的開發(fā)環(huán)境已經(jīng)建立好了,下面就是要移植到我們的板子上去了,這里不介紹怎么移植 Linux 系統(tǒng),假設你已經(jīng)有一個可以在板子上跑的 Linux 系統(tǒng)了,并且已經(jīng)有一個可以用的根文件系統(tǒng)了,并且已經(jīng)有了板子相對應的LCD的驅(qū)動程序,這里介紹怎么在你的根文件系統(tǒng)里加上 MiniGUI ,使得你的板子有圖形界面的顯示。
要交叉編譯,首先就得有交叉編譯器,這里介紹 arm 板的交叉編譯。不要自己去編譯,直接去下載個就行了。
ftp://ftp.arm.linux.org.uk/pub/linux/arm/toolchain/cross-2.95.3.tar.bz2
記住這個 ftp ,最好的 arm 工具下載站,
下載回來,有35Mb,呵
安裝交叉編譯工具:
[Root]# mkdir –p /usr/local/arm
[Root]# cd /usr/local/arm
[Root]# tar jxf cross-2.95.3.tar.bz2 //把工具直接解到壓縮到這個目錄下就安裝完成了,簡單吧:)
解壓縮后生成一個 2.95.3 目錄,里面在就是工具
記住,這時候的gcc為 2.95.3/bin/arm-linux-gcc 而它的 include 為 2.95.3/arm-linux/include ,對應的 lib 為 2.95.3/arm-linux/lib
也就是說,你如果用 arm-linux-gcc 編譯程序的話,它缺省的就找 2.95.3/arm-linux/include 2.95.3/arm-linux/lib 兩個目錄,而不是 /usr/include ,所以如果你要加什么 .h .a .so 文件話,記著一定是加到這兩個目錄下去,不然編譯器會告訴你找不到這些東西的
把可行程序的路徑加入到 PATH 中去,還記得前面說過的改 .bashrc 文件嗎?
[user]# cd $HOME
[user]# vi .bashrc
在 .bashrc 最后面加上一句
export PATH="$PATH:/sbin:/usr/local/arm/2.95.3/bin:/usr/local/bin:/usr/local"
[user]# source .bashrc
OK ,交叉編譯工具安裝完了,夠簡單吧:)
MiniGUI 的編譯需要一些庫文件,缺省我們的 gcc 基本上都有這些庫文件,所以不需要安裝,可是現(xiàn)在要交叉編譯了,交叉編譯器可是不帶這些庫文件的,所以我們得首先自己編譯這些庫文件裝到交叉編譯器中去。
注意一點:庫不一定要裝最新的,庫版本太新,MiniGUI 有可能不認識,像jpeg 庫和 ttf 庫就是這樣,太新了反而用不了,所以要注意版本,以下的庫都是我驗證過可以和MiniGUI一起工作的,其它版本的庫沒試過,不保證能正確通過:)
首先安裝 zlib 庫,這個是后面的庫的編譯基礎。
http://www.zlib.net/zlib-1.2.3.tar.gz 400多K,去下載吧,
下載到目錄 /opt/st2410 下
[user]# tar zxf zlib-1.2.3.tar.gz
由于 zlib 庫的configure 腳本不支持交叉編譯選項,只好自己動用了,手動臨時把 gcc 修改成指向我們的交叉編譯器 arm-linux-gcc
[Root]# cd /usr/bin
[Root]# mv gcc gcc_back
[Root]# ln -s /usr/local/arm/2.95.3/bin/arm-linux-gcc ./gcc
[Root]# mv ld ld_back
[Root]# ln -s /usr/local/arm/2.95.3/bin/arm-linux-ld ./ld
OK ,修改完成后回到 /opt/st2410/zlib-1.2.3 目錄下
[user]# ./configure --prefix=/usr/local/arm/2.95.3/arm-linux/ --shared
注意:這里配置指向 /usr/local/arm/2.95.3/arm-linux/ 目錄,會自動安裝在 /usr/local/arm/2.95.3/arm-linux/ [include,lib] 目錄下,千萬不要裝錯目錄了,不然后面會找不到這個庫的
[user]# make
[Root]# make install
安裝完后檢查一下目錄 /usr/local/arm/2.95.3/arm-linux/ [include,lib] ,假如 include 中沒有 zlib.h 之類的頭文件,lib 中沒有 libz.so.1.2.3 ,那就自己手動拷到這些目錄下去,記著拷的時候把所有的 *.h 都需要拷過去,在拷庫的時候用 cp –a libz.* /…./lib 就行,要用上 –a 選項
記著把剛才改過的 gcc 再改回去,不然后面會出錯的?。。。。?p>
安裝 png 庫,這個是用來顯示 png 圖形的,MiniGUI 里很多圖都是 png 的,如果沒有這個庫,你的 MiniGUI 將無法正常工作,切記切記!
http://superb-east.dl.sourceforge.net/sourceforge/libpng/libpng-1.0.10rc1.tar.gz
還是那句話,庫不要用最新的,最新的容易有問題,用這個老一點的就沒問題了,呵
[user]# tar zxf libpng-1.0.10rc1.tar.gz
[user]# cd libpng-1.0.10rc1
Libpng 不提供有效的 configure 腳本,所以只好自己動手改 Makefile 文件了
[user]# cp scripts/makefile.linux Makefile //把 Scripts 下的一個 makefile 拷出來自己動手改
[user]# vi Makefile // 自己動手改
CC=arm-linux-gcc //修改這里
# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
prefix=/usr/local/arm/2.95.3/arm-linux //修改這里
# Where the zlib library and include files are located
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
ZLIBLIB=/usr/local/arm/2.95.3/arm-linux/lib //修改這里
ZLIBINC=/usr/local/arm/2.95.3/arm-linux/include //修改這里
好了,保存,然后去編譯吧
[user]# make
[user]# make install
如果有錯誤,檢查你前面的步驟哪個沒做對 :) 尤其是 zlib 的安裝
還是前面說的,檢查 /usr/local/arm/2.95.3/arm-linux/ [include,lib] 目錄中有成功安裝否,如果沒有安裝成功,那就自己把編譯出來的東西拷過去。記著,*.h 和 .so 的文件都要拷。
OK,現(xiàn)在來安裝 jpeg 庫
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz 自己去下載,速度暴慢
[user]# tar zxf jpegsrc.v6b.tar.gz
[user]# cd jpeg-6b
[user]# ./configure –help //可以查看它的配置選項
一般情況下用 [cdp@cdpserver jpeg-6b]$ ./configure --prefix=/usr/local/arm/2.95.3/arm-linux/ --host=arm-linux --enable-shared --enable-static
--host=arm-linux 來指定交叉編譯選項,可是這里死活它不認,所以改用別的方法,如下
[user]# ./configure --prefix=/usr/local/arm/2.95.3/arm-linux/ CC=arm-linux-gcc --enable-shared --enable-static
[user]# make
安裝前需要在 arm-linux 下建個目錄,不然安裝會出錯
[Root]# mkdir –p /usr/local/arm/2.95.3/arm-linux/man/man1
[Root]# make install // OK 了
一樣,自己去檢查一下安裝是否成功 :)
最后安裝 libttf 庫,這個是 TrueType 字體的支持庫,用來顯示文字的。
http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz
注意:MiniGUI 的文檔說只支持 1.3.1 版本的 ttf 庫,不要把版本弄錯了 :)
這個庫裝起來最麻煩,全部自己手動編譯,安裝,下面一步一步來做吧:)
[user]# tar zxf freetype-1.3.1.tar.gz //老一套
[user]# cd freetype-1.3.1 //進到目錄里去
[user]# mkdir –p /opt/st2410/libttf/extend // 自己另外建立一個目錄
[user]# cp freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* libttf/ //把有用的東西拷出來
[user]#cp freetype-1.3.1/lib/extend/* libttf/extend/ 把 extend 目錄下的文件也拷出來
注意 cp 命令不要用 –r 選項,因為會把一些沒用的東西出拷出來的
拷貝完成了,現(xiàn)在來自己手動編譯了
[user]# cd libttf
[user]# arm-linux-gcc -c -fPIC -O2 freetype.c //不要奇怪,對,我們只要編譯這一個 .c 文件,因為它包括了其它所有的 .c 文件了,你可以自己查看它的內(nèi)容
[user]# arm-linux-gcc -c -fPIC -O2 -I./ extend/*.c 把 extend 下所有的 .c 文件全部編譯
[user]# arm-linux-gcc --shared -o libttf.so *.o 生成最后的動態(tài)鏈接庫,OK了
現(xiàn)在手動安裝,得自己建立一下目錄
[Root] mkdir –p /usr/local/arm/2.95.3/arm-linux/include/freetype1/freetype
[Root] cp *.h extend/*.h /usr/local/arm/2.95.3/arm-linux/include/freetype1/freetype
[Root] cp libttf.so /usr/local/arm/2.95.3/arm-linux/lib
安裝庫完成,哈!
經(jīng)過試驗發(fā)現(xiàn) MiniGUI 1.3.3 版本在鏈接 ljpeg lpng lttf 時老是要鏈接 /usr/lib 下的庫,沒辦法,用老方法
[Root]# cd /usr/lib
[Root]# mv libjpeg.so libjpeg.so_back
[Root]# ln –s /usr/local/arm/2.95.3/arm-linux/lib/libjpeg.so ./libjpeg.so //指向 arm 的庫
[Root]# mv libpng.so libpng.so_back
[Root]# ln –s /usr/local/arm/2.95.3/arm-linux/lib/libpng.so ./libpng.so
[Root]# mv libttf.so libttf.so_back
[Root]# ln –s /usr/local/arm/2.95.3/arm-linux/lib/libttf.so ./libttf.so
完成以上工作后就可以編譯 libminigui 了
[user]# cd libminigui-1.3.3
[user]# make menuconfig //就用圖形界面來配置就好了,不要用一堆 –enable-xxx 之類的,太麻煩
如果在 make menuconfig 出錯,去檢查一下你的 gcc ,前面我們把它指向 arm-linux-gcc ,問一下,你改回來沒有???????
下面是配置libminigui
在 System Wide Options 里如下:
[*] Build MiniGUI-Lite //用 Lite 方式編譯,不是Thread 方式,這里適用于 PDA
[ ] Stand-Alone
[ ] Use incore (built-in) resource //建議不要選這個,老有問題
[*] Unit of timer is 10ms
[*] Cursor support
[ ] User can move window with mouse //建議別選這個,可以移動蠻煩人的
[*] Mouse button can do double click
[*] Build with debugging messages
[ ] Trace messages of MiniGUI //不要選這個,出來的Trace太多,看不過來
[*] Include symbol name of messages
在 GAL engine Options 里
(NEWGAL) GAL and its engines
[*] NEWGAL engine on Linux FrameBuffer console
[ ] NEWGAL engine on Qt Virtual FrameBuffer //建議不要選這個,不然老讓你用qvfb
[ ] NEWGAL engine on eCos LCD interface
[*] Dummy NEWGAL engine
[*] Have console on Linux FrameBuffer
在 IAL engine options 里
[ ] EP7211-based board
[ ] ADS Graphics Client
[ ] iPAQ H3600 (also H3800)
[ ] MPC823
[ ] PX255B
[ ] NEC VR4181
[ ] Helio Touch Panel
[ ] MT T800
[*] SMDK2410 Touch Screen
[ ] uClinux Touch Screen Palm/MC68EZ328
[*] Dummy IAL engine
[*] Native (console) input engine
--- Native IAL engine subdriver options
[ ] PS2 mouse
[ ] IntelligentMouse (IMPS/2) mouse
[ ] MS mouse
[ ] MS3 mouse
[*] GPM daemon
在 Font Option 里
[*] Raw bitmap font
[ ] Var bitmap font //千萬不要選這個,不然會出現(xiàn) unreferenced vfb_Courier8x8() 之類的錯誤
[*] Incore font sansserif
[*] Incore font courier
[*] Incore font symbol
[*] Incore font vgas
[*] Qt Prerendered Font
[*] TrueType font
[ ] Adobe Type1 font
在 Image Options 里
[*] Includes SaveBitmap-related functions
[ ] PCX file support
[ ] LBM/PBM file support
[ ] TGA file support
[*] GIF file support
[*] JPG file support
[*] PNG file support
在 Input Medthold Option 里
[*] IME (GB2312) support
[ ] IME (GB2312) Intelligent Pinyin module //千萬不要選這個,不然后面你的 mginit 程序一啟動就崩潰了(Abort ,有點像 OOP 一樣,顯示所有的寄存器的值,然后Abort),暴不爽
在 Development Environment Option 里
(Linux) Platform
(arm-linux-gcc) Compiler //注意這里
(glibc) Libc //注意這里
--- Installation options
Path prefix: "/usr/local/arm/2.95.3/arm-linux" //注意這里,我們把庫裝到交叉編譯器的目錄下
--- Additonal Compiler Flags
CFLAGS: ""
LDFLAGS: ""
其它的用缺省的選項就可以了,好了,現(xiàn)在退出,保存你的設置吧,然后它就開始檢測你的系統(tǒng)了,注意下面的輸出:
checking for FrameBuffer console support... yes
checking for TT_FreeType_Version in -lttf... yes //True Type字體
checking for jpeg_std_error in -ljpeg... yes // jpeg 支持
checking for png_check_sig in -lpng... yes //png 圖形支持,重要?。?!
checking for pow in -lm... yes
這里的庫應該都是顯示為 yes 了,如果有 no 的話,回去檢查前面你有哪步做得不對,不然的話編譯后的東西可能沒法正常執(zhí)行,切記切記?。。?p>如果這里通過了,那就OK了
[user]# make //又是一個漫長的等待,呵
[Root]# make install
注意:我們這里 make install 其實是給交叉編譯器安裝 libminigui 的庫,你想,將來你需要編譯為 minigui 開發(fā)的程序,這個程序總是需要鏈接庫的吧,這些庫因此也需要在交叉編譯器中,不然你交叉編譯的時候編譯不過去 :)
裝好了,到 /usr/local/arm/2.95.3/arm-linux 的 include lib 目錄下去看看,是不是多了相應的 libminigui.so libmgext.so libvcongui.so 在 include 目錄下多了一個 minigui 目錄,里面有相應的頭文件
最后,安裝 popt 庫,這個庫在編譯 mde 程序時需要使用,不然編譯沒法通過 :)
http://gd.tuwien.ac.at/utils/rpm.org/dist/rpm-4.1.x/popt-1.7.tar.gz 我是從這里下載的
[user]# tar zxf popt-1.7.tar.gz
[user]# cd popt-1.7
[user]# ./configure --prefix=/usr/local/arm/2.95.3/arm-linux/ --host=arm-linux --enable-shared --enable-static
[user]# make
[Root]# make install
一切很順利,搞定了。
交叉編譯環(huán)境設置好了!