首先,你需要下載的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 一些小例子
在/home/下創建新的工作目錄
[user]# mkdir -p /home/minigui
把 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的話,那麼就可能是相應的庫沒有安裝。
注:如果庫已經正確安裝,依然顯示為no,例如有checking for png_check_sig in -lpng... no
解決辦法:通過vi進入configure文件,查找png,在如下所注黑體處修改
if test "x$build_png_support" != "xno"; then
echo "$as_me:$LINENO: checking for png_check_sig in -lpng" >&5
echo $ECHO_N "checking for png_check_sig in -lpng... $ECHO_C" >&6
if test "${ac_cv_lib_png_png_check_sig+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
#I modified the below line
#LIBS="-lpng -lm $LIBS"
LIBS="-lpng -lm -lz $LIBS"
其中 ttf 庫是對 TrueType字體的支持,png庫是對 png圖形的支持,jpeg庫是對jpeng圖形的支持,MiniGui裡都需要這兩個,在後面為板子交叉編譯的時候也需要這兩個,不然你的程序跑不起來。
如果./configure 結果中顯示yes通過了,下面是編譯了,執行如下命令。
# make
# make install
如果./configure 結果中顯示的是no,則需要手動添加這些庫了:
安裝zlib庫
zlib 庫是後面的庫的編譯基礎。首先需要安裝這個庫。
安裝包:zlib-1.2.3.tar.gz
# tar zxf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure
# make
# make install
安裝freetype庫
解壓步驟一致。
在make的時候可能出現以下錯誤:
1、錯誤一:
X11/Xlib.h:No such file or directory
解決方法:
sudo apt-get install libx11-dev
2、錯誤二:
ftdump.c:172:1: pasting "." and "glyph_object" does not give a valid preprocessing token
ftdump.c:182:1: pasting "." and "first_instance" does not give a valid preprocessing token
ftdump.c:191:1: pasting "." and "second_instance" does not give a valid preprocessing token
ftdump.c:201:1: pasting "." and "face_object" does not give a valid preprocessing token
ftdump.c:202:1: pasting "." and "glyph_object" does not give a valid preprocessing token
ftdump.c:203:1: pasting "." and "second_instance" does not give a valid preprocessing token
ftdump.c:863:1: pasting "." and "initial_overhead" does not give a valid preprocessing token
ftdump.c:882:1: pasting "." and "face_object" does not give a valid preprocessing token
make[1]: *** [ftdump.o] Error 1
make[1]: Leaving directory `/software/freetype-1.3.1/test'
make: *** [tttest] Error 2
解決方法:
修改Makefile:
1. 去掉all: ttlib tttest ttpo中的tttest
2. 刪除
install:
cd $(FTLIBDIR); $(MAKE) -f $(MAKEFILE) install
cd $(FTTESTDIR); $(MAKE) -f $(MAKEFILE) install
cd $(FTPODIR); $(MAKE) uninstall
中的 cd $(FTTESTDIR); $(MAKE) -f $(MAKEFILE) install
安裝png庫
安裝包:libpng-1.0.10rc1.tar.gz
Libpng 不提供有效的 configure 腳本,所以只好自己動手改 Makefile 文件了
# cp scripts/makefile.linux Makefile //把 Scripts 下的一個 makefile 拷出來自己動手改,在Ubuntu中一般不需要修改 【Linux公社 http://www.linuxidc.com 】
# make
# make install
安裝jpeg庫
安裝包:jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure –perfix=/usr/local –enable-shared
# make
# make install
重新安裝libminigui
在安裝完成了所有的支持庫以後,重新進入libminigui文件夾,運行configure命令後,應該所安裝的支持庫都顯示yes
#./configure
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
#make
在編譯的過程中還可能出現以下的錯誤
……
freetype.c:47:41: freetype1/freetype/freetype.h: No such file or directory
freetype.c:48:40: freetype1/freetype/ftxkern.h: No such file or directory
freetype.c:49:41: freetype1/freetype/ftnameid.h: No such file or directory
freetype.c:50:40: freetype1/freetype/ftxcmap.h: No such file or directory
freetype.c:51:41: freetype1/freetype/ftxwidth.h: No such file or directory
……
make[3]: *** [freetype.lo] Error 1
make[3]: Leaving directory `/root/Minigui/libminigui-1.3.3/src/font'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/root/Minigui/libminigui-1.3.3/src/font'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/root/Minigui/libminigui-1.3.3/src'
make: *** [install-recursive] Error 1