日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下Minigui开发环境的搭建(PC+S3C2440

發(fā)布時間:2025/6/15 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下Minigui开发环境的搭建(PC+S3C2440 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

花了兩天時間終于把Minigui的開發(fā)環(huán)境搭建好了,遇到了很多問題,看了很多人的博客,對我的啟發(fā)很大。關(guān)鍵是以前偷懶裝redhat的時候為了省空間,很多庫文件都沒安裝搞的自己很狼狽,不過也由于這個原因,讓我真正細細的實踐了一遍Minigui的移植,理解加深了很多。


?


Minigui算是我們中國人在世界軟件界的驕傲了,作為中國人理應學它,雖然現(xiàn)在基本都用QT了。(關(guān)鍵是我的開發(fā)板只有16M的NORFLASH,華恒的板子真會賺錢,故意留個NANDFLASH不給你焊接上去,唉這么小的ROM只能望QT興嘆了)不過MiniGUI做的不錯,玩了玩他們自帶的掃雷啥的小游戲,還挺爽的。


?


華恒的S3C2440的光盤里面已經(jīng)講交叉編譯環(huán)境下的Minigui給你做的七七八八了。下面是華恒的交叉編譯環(huán)境的搭建步驟


A.編譯minigui?(在libminigui-1.3.3目錄下操作)


B.編譯minigui支持資源?(在minigui-res-1.3.3目錄下操作)


C.編譯minigui的示例程序?(在mg-samples-1.3.1mde-1.3.0目錄下操作)


D.以上步驟編譯出來的文件放到文件系統(tǒng)映像(ramdisk.image.gz)文件去


為了方便,我們上述目錄和nfsroot目錄都放入一個HHTECH字母打頭腳本文件,執(zhí)行相應腳本文件,就可以完成一系列的操作,可以使用vi打開相關(guān)文件看看,所做的操作將在下面介紹移植過程作出介紹。


A.在libminigui-1.3.3目錄下編寫了HHTECH.inst.lib腳本文件,執(zhí)行此文件就可以把mingui?的庫、包含文件等文件編譯好,以便后面操作。


B.在mingui-res-1.3.3目錄下編寫了HHTECH.inst腳本文件,執(zhí)行此文件,就可以把運行minigui示例程序時需要的相關(guān)資源拷貝到/HHARM2440/applications/minigui-free/nfsroot目錄的相關(guān)目錄下去。


C.在mg-samples-1.3.1和mde-1.3.0目錄下編寫了HHTECH.compile.mg腳本文件,執(zhí)行此文件,在mg-samples-1.3.1/src和mde-1.3.0/bomb目錄及其它目錄下就可以生成minigui的示例,mg-samples目錄下是一些簡單的示例,mde-1.3.1目錄下是復雜一些的示例或應用程序。這些應用程序需要客戶可以自行選擇哪些拷貝到文件系統(tǒng)(ramdisk.imag.gz)中去。我們已經(jīng)拷貝了mg-samples-1.3.1/src/目錄下的treeview到我們帶的文件系統(tǒng)映像文件


?


不是用的華恒的板子的兄弟們也不用急,因為華恒只給了交叉編譯環(huán)境的,為了開發(fā)方便,我們換需要搭建在PC環(huán)境下的Minigui。具體的移植搭建方法完全一樣,只是用的編譯工具不同,一個是gcc一個是arm-linux-gcc


為了與交叉編譯環(huán)境兼容,我選擇了minigui1.3.3版本


?


那么開始移植吧:


?


1.???????安裝Minigui


1)首先下載Minigui的軟件:


http://www.minigui.com/download/libminigui-1.3.3.tar.gz???


Minigui的庫文件


http://www.minigui.com/download/minigui-res-1.3.3.tar.gz?


minigui?所使用的資源,包括基本字體、圖標、位圖和鼠標光標?????


這兩個包的下載需要你在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???


一些小例子


2)下載支持的庫文件


這里注意的是查看你的linux里面有沒有jpeg,?png?,ttf?,lz這些庫文件


可以利用解壓縮libminigui-1.3.3下的configture進行驗證:


????# tar??zxf??libminigui-1.3.3.tar.gz


????# cd libminigui-1.3.3


# ./configure?????????????????


????注意看configure的信息,如果有:


???checking for FrameBuffer console support... yes


checking for pthread library... yes


checking for TT_FreeType_Version in -lttf... yes


checking for jpeg_std_error in -ljpeg... yes


checking for png_check_sig in -lpng... yes


???如果里面有“no”的話,不用編譯了,先把相關(guān)的庫裝起來在編譯libminigui。由于我的什么庫都沒有因此都要安裝,下面詳細介紹:


?


A:首先安裝?zlib?庫,這個是后面的庫的編譯基礎(chǔ)。


http://www.zlib.net/zlib-1.2.3.tar.gz?


400多K,去下載吧,


??


???保存到一個目錄下后(如??/minigui)


# tar zxf zlib-1.2.3.tar.gz


???#??cd??/ zlib-1.2.3


#??./configure??--shared??????????????????編譯成動態(tài)庫


#??make


# make install???????????????????????????安裝


?


B:安裝png庫


# tar zxf libpng-1.0.10rc1.tar.gz


# cd libpng-1.0.10rc1


Libpng?不提供有效的?configure?腳本,所以只好自己動手改?Makefile?文件了。可以把?Scripts??下的一個?makefile拷出來自己動手改


# cp scripts/makefile.linux??Makefile??


???#??make


#??make install


?


C:安裝libjpeg-6b


tar xzvf jpegsrc.v6b.tar.gz


cd jpeg-6b


.???/configure --enable-static --enable-shared --prefix=/usr???????//關(guān)鍵這樣才能生成要求的庫文件


make


mkdir /usr/man/man1????????????????//必須件這個文件夾否則安裝出錯


make install


?


D:安裝ttf


這個比較麻煩一點。


# tar zxf??freetype-1.3.1.tar.gz???????//老一套


# cd freetype-1.3.1???//進到目錄里去


# mkdir?–p??/opt/ libttf/extend???//?自己另外建立一個目錄


# cp freetype-1.3.1/lib/*??freetype-1.3.1/lib/arch/ansi/*??libttf/??//把有用的東西拷出來


#cp freetype-1.3.1/lib/extend/*??libttf/extend/????把?extend?目錄下的文件也拷出來


?????????????????????????????????????????就是拷貝到自建的目錄/opt/ libttf/


注意?cp?命令不要用?–r?選項,因為會把一些沒用的東西出拷出來的


?


拷貝完成了,現(xiàn)在來自己手動編譯了


?


# cd libttf


# gcc -c -fPIC -O2 freetype.c?????????//不要奇怪,對,我們只要編譯這一個?.c?文


//因為它包括了其它所有的?.c?文件了,你可以自己查看它的內(nèi)容??


# gcc -c -fPIC -O2 -I./??extend/*.c???把?extend?下所有的?.c?文件全部編譯


# gcc --shared -o libttf.so??*.o????生成最后的動態(tài)鏈接庫,OK了


?


把編譯好的東東拷貝到系統(tǒng)路徑


?


mkdir –p /usr/local/ include/freetype1/freetype


?


cp *.h??extend/*.h???/usr/local/ include/freetype1/freetype


cp libttf.so??/usr/local /lib


?


安裝庫完成,哈!


?


?


3)編譯libminigui-1.3.3


# tar??zxf??libminigui-1.3.3.tar.gz


????# cd libminigui-1.3.3


# ./configure??????????????????????????????//這是應該全是yes????


# make


# make install


4)編譯安裝minigui-res-1.3.3???????????????//不會有問題的


# tar??zxf??minigui-res-1.3.3


????# cd minigui-res-1.3.3


# ./configure???????????????????????????????


# make


# make install


?


?


5)最后,安裝?popt?庫,這個庫在編譯?mde?程序時需要使用,不然編譯沒法通過?http://gd.tuwien.ac.at/utils/rpm.org/dist/rpm-4.1.x/popt-1.7.tar.gz???


#??tar zxf popt-1.7.tar.gz


# cd popt-1.7


# ./configure --enable-shared --enable-static


# make


# make install


?


6)激活FramebeBuffer


?


?這里很重要:


?# cd??/boot/grub


# vim menu.list


grub.conf其實是grub引導程序menu.lst?符號連接文件指向的引導菜單,?再其中加


title MiniGUI FrameBuffer
root (hd0,0)
kernel /boot/vmlinuz-2.4.20-8 ro root="LABEL/"?vga="0x0314" fb:on


意思是引導標題MiniGUI FrameFuffer模式?root?所在第一IDE硬盤的第一分區(qū)做為引導分區(qū)kernel?內(nèi)核的路徑在/boot下名為vmlinuz-2.4.20-8的文件,ro是以只讀方式掛接?root="LABEL/vga"=0x0314?意為使用800*600的分辯率,如要使用640*480分辯率自行改為vga=0x0311?使用1024*768分辯率請改為vga=0x0317 ,?后面的fb:on?是關(guān)鍵,它就是打開內(nèi)核FrameBuffer顯示模式的關(guān)鍵參數(shù),重新啟動后你就可以看到屏幕左上角可愛的小啟鵝了。


6)修改MiniGUI.cfg


MiniGUI?有兩種執(zhí)行方式,一個是利用qvfb開啟模擬環(huán)境,他需要X圖形支持,由于我的linux沒有安裝這些庫,他們的以來關(guān)系有太復雜所以我沒有選,選擇了另一種更簡單的方式就是在?Console?下在?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=800x600-16bpp???????//與前面的vga=0x0314匹配


?


[qvfb]


defaultmode=640x480-16bpp????


display=0


?


重啟動你的?RedHat 9?,在出現(xiàn)?Grub?的時候按?E?鍵,在?kernel =…..??????這一行的最后加入??vga=0x314??,然后?Enter,然后在?kernel=…??這一行上按?b??就可以了,這時候可以在啟動時看到一個小企鵝的圖標,OK


?


7)修改默認庫路徑


修改你的?/etc/ld.so.conf?文件,在里面最后新加入一行?/usr/local/lib


#??ldconfig


?


8)編譯例程


還記得前面讓你下載的?mg-samples-1.3.0.tar.gz?這個包吧,這個就是一些例子,現(xiàn)在試試吧:


# tar zxf mg-samples-1.3.0.tar.gz


# ./configure


# make


# cd src


看看?src?目錄下是不是已經(jīng)編譯出可執(zhí)行文件來了


?


8)運行程序


前面說采用fbcon]的方法不好,就在這里體現(xiàn)了,我在這里被卡了很久。一切Minigui的程序都不能在圖形界面下運行,否則會沖突早成花屏,好像沒有很多人提出這個解決方法,搞的的卡了很久,也許他們都用qvfb模式了吧。


解決方法就是進入純字符模式:


可以按?ctrl+Alt+F5(用虛擬機的兄弟注意:先把虛擬機的?參數(shù)-à熱鍵?改成ctrl+Alt+Shift否則會沖突,不響應)


在純字符下我們可以運行剛才編譯好的程序:


# cd …./mg-sample*


# cd /src


# ./helloworld


可以看到我們的程序跑起來。



?


另外回到圖形界面可以使用指令:


# init 3???(進入字符界面是??#??init5)


來回的切換非常慢,中間還要輸入用戶名和密碼,大家可以參考別人的博客,移植qvfb模式。更方便。


http://www.minigui.org/cgi-bin/lb5000/view.cgi?forum=6&topic=5548

總結(jié)

以上是生活随笔為你收集整理的Linux下Minigui开发环境的搭建(PC+S3C2440的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。