miniGUI的初步应用

参考:http://wenku.baidu.com/link?url=M3pELCJWKb_s2SY_xD4QtJppLAY45elz8D_dRBZ6SDqkJKafgVukGqDpQ2d6FLB0-cpuQTMSe7V54KXg5f2hTny0Y2KWwiy_zMumgM2SS7G

首先交叉编译共聚链里面需要安装这些库:

zlib-1.2.3.tar.gz         是最基本的编辑库

freetype-2.3.9.tar.gz        字体库

jpegsrc.v7.tar.gz        jpg图片支持库

libpng-1.2.37.tar.gz      png图片支持库

和一些不是必须的支持库:

qvfb2-2.0.tar.gz        虚拟帧缓冲区(基于GTK版)

gvfb-1.0.0.tar.gz         虚拟帧缓冲区(基于QT版)

注意:这些库都来自miniGUI官网下载的,其他来源库的可能会有版本问题

不过zlib我还是用zlib-1.2.3.tar.gz吧,应该不会有问题。

为了不耽误其他工作我从新建立一个交叉编译工具链:

在/home/minigui/usr/.....下有刚刚解压的arm-linux-gcc-4.3.2交叉编译工具。打算把所有与miniGUI相关的工具链都放在这个工具链里面。开发miniGUI时使用这个工具链。

准备工作:安装一些miniGUI的支持库

一:安装zlib-1.2.3.tar.gz

1.zlib库移植
--------下载
--------解压 tar xvzf zlib-1.2.3.tar.gz
--------cd zlib-1.2.3
--------生成Makefile(注意zlib只能静态,动态分开编译,因此要生成两次Makefile和两次编译和安装)
生成静态库 ./configure --prefix=$PWD/output/arm

export CC=arm-linux-gcc

CPP="arm-linux-gcc -E"

AR="arm-linux-ar rc"

RANLIB=arm-linux-ranlib
--------编译 make
--------安装 make install

 

 

 

 

1.    准备以下源码包(下载)

http://www.minigui.org/en/download/
开发库:   libminigui-gpl-3.0.12.tar.gz
资源文件:minigui-res-be-3.0.12.tar.gz
示例程序:mg-samples-3.0.12.tar.gz
下载工具包:
zlib-1.2.2.tar.gz
freetype-2.3.9.tar.gz
 jpegsrc.v7.tar.gz
libpng-1.2.37.tar.gz
libpng-1.2.37.tar.gz
qvfb2-2.0.tar.gz
gvfb-1.0.0.tar.gz

2.  配置编译安装MiniGUI核心库

step1:

#cd libminigui-gpl-3.0.12 

修改根目录configure文件,在文件开头添加如下信息:

CC=arm-none-linux-gnueabi-gcc
CXX=arm-none-linux-gnueabi-g++
LD=arm-none-linux-gnueabi-ld
AS=arm-none-linux-gnueabi-as
AR=arm-none-linux-gnueabi-ar

step2:配置
创建一个tmp目录
#cd libminigui-gpl-3.0.12
#mkdir tmp    创建一个tmp目录。

./configure --prefix=$PWD/tmp/ --host=arm-linux --target=arm-linux --build=i386-linux --with-osname=linux --with-style=classic --with-targetname=fbcon --enable-autoial --enable-rbf16 --disable-vbfsupport

 

最后提示:

Going to generate license pictures ... 

./configure: line 15541: ./runme.sh: No such file or directory 

WARNING: failed to generate license pictures. 

可以不用管它,继续编译

step3:编译

#make

此时会遇到一个错误,关于pcxvfb.c的错误,修改Makefile:

src/newgal/pcxvfb/Makefile,把以下两个地方都去掉:

177 oldincludedir = /usr/include

194 INCLUDES = -I$(abs_top_srcdir)/src/include -I$(abs_top_srcdir)/include

              -I$(abs_top_srcdir)/src/newgal/ -I/usr/include

将红色的注释掉。

 step4:安装
#make install
之后会在tmp目录下有安装的文件
├── etc
│   └── MiniGUI.cfg
├── include
│   └── minigui
│       ├── common.h
│       ├── control.h
│       ├── ctrl
│       │   ├── animation.h
│       │   ├── button.h
│       │   ├── combobox.h
│       │   ├── coolbar.h
│       │   ├── ctrlhelper.h
│       │   ├── edit.h
│       │   ├── gridview.h
│       │   ├── iconview.h
│       │   ├── listbox.h
│       │   ├── listview.h
│       │   ├── menubutton.h
│       │   ├── monthcal.h
│       │   ├── newtoolbar.h
│       │   ├── progressbar.h
│       │   ├── propsheet.h
│       │   ├── scrollbar.h
│       │   ├── scrollview.h
│       │   ├── spinbox.h
│       │   ├── static.h
│       │   ├── textedit.h
│       │   ├── trackbar.h
│       │   └── treeview.h
│       ├── customial.h
│       ├── dti.c
│       ├── endianrw.h
│       ├── fixedmath.h
│       ├── gdi.h
│       ├── mgconfig.h
│       ├── minigui.h
│       ├── nucleus_pthread.h
│       ├── nucleus_semaphore.h
│       ├── ose_semaphore.h
│       ├── own_malloc.h
│       ├── own_stdio.h
│       ├── psos_pthread.h
│       ├── psos_semaphore.h
│       ├── threadx_pthread.h
│       ├── threadx_semaphore.h
│       ├── ucos2_pthread.h
│       ├── ucos2_semaphore.h
│       ├── vxworks_pthread.h
│       ├── vxworks_semaphore.h
│       ├── win32_dirent.h
│       ├── win32_pthread.h
│       ├── win32_sched.h
│       ├── win32_semaphore.h
│       ├── window.h
│       └── xvfb.h
├── lib
│   ├── libminigui_ths-3.0.so.12 -> libminigui_ths-3.0.so.12.0.0
│   ├── libminigui_ths-3.0.so.12.0.0
│   ├── libminigui_ths.a
│   ├── libminigui_ths.la
│   ├── libminigui_ths.so -> libminigui_ths-3.0.so.12.0.0
│   └── pkgconfig
│       └── minigui.pc
└── share
    └── minigui
        └── cmake
            └── Modules
                ├── common.cmake
                ├── FindFREETYPE.cmake
                ├── FindJPEG.cmake
                ├── FindMiniGUI.cmake
                ├── FindPNG.cmake
                ├── FindPTHREAD.cmake
                └── FindZLIB.cmake
View Code

 

3.编译安装 miniGUI 资源包 minigui-res-be-3.0.12

step1:

# cd minigui-res-be-3.0.12
修改根目录configure文件,在文件开头添加如下信息:
CC=arm-none-linux-gnueabi-gcc 

CXX=arm-none-linux-gnueabi-g++ 

LD=arm-none-linux-gnueabi-ld 

AS=arm-none-linux-gnueabi-as 

AR=arm-none-linux-gnueabi-ar
step2:配置:

#mkdir tmp
#./configure --prefix=$PWD/tmp/minigui
step3:编译:
#make
step4:安装:
#make install 
注意:在tmp 目录下生成一个minigui目录,切记后面一定要将此处的资源包拷过去

 

4.编译综合例子mg-samples

 由于samples包含了很多例子,我们只需要拿出一个例子来试一下就可以了,所以进入notebook文件夹 
step1. 编译notebook程序

# cd notebook/
step2:命令行编译:

可以直接命令行编译,不用notebook下面的makefile编译
# arm-none-linux-gnueabi-gcc -I/usr/local/minigui/include -L/usr/local/minigui/lib -o notebook main.c -ljpeg -lminigui_ths -lpthread -ldl  -lz -lpng

 

 

 

posted @ 2014-11-09 16:25  chrispauls  阅读(2090)  评论(0编辑  收藏  举报