minigui移植

minigui-1.6.10在s3c2410平台的移植

开发板:s3c2410

内核:
linux-2.6.33
fs:nfs
LCD:TFT320 X 240

PC:RedHat 9.0 
(一)准备工作
下载软件包
 libminigui-1.6.10.tar.gz
 mg-samples-1.6.10.tar.gz
 minigui-res-1.6.10.tar.gz
 在/home/arm/创建一个minigui的目录,然后把这些载在的软件包放在该目录下,在分别解压缩。再在/home/arm/minigui下创建一个miniguitmp的目录,用于安装编译以后的库文件。
(二 )编译 libminigui
首先修改configure文件,在文件的开头加入交叉编译的路径

//交叉编译链是arm-linux-gcc-3.4.1
CC=arm-linux-gcc
CPP=arm-linux-cpp
LD=arm-linux-ld
AR=arm-linux-ar
RANLIB=arm-linux-ranlib
STRIP=arm-linux-strip
然后执行
[root@localhost libminigui-1.6.10]# ./configure --prefix=/home/arm/minigui/miniguitmp/ /
--build=x86_64-linux /
--host=arm-unknown-linux /
--target=arm-unknown-linux
[root@localhost libminigui-1.6.10]# make
[root@localhost libminigui-1.6.10]# make install
这个过程基本上不会有什么错误的
执行make install的时候会把编译以后的资源安装到/home/arm/minigui/miniguitmp中,在这之下会有etc  include  lib 
然后进入/home/arm/minigui/miniguitmp/lib,执行
[root@localhost lib]# ldconfig
libminigui的交叉编译工作就算完成了。

(三)安装minigui-res比较简单
进入/home/arm/minigui/minigui-res-1.6.10目录
修改config.liux文件的第11行
TOPDIR=/home/arm/minigui/miniguitmp
保存
然后[root@localhost minigui-res-1.6.10]# make install
资源文件被安装到/home/arm/minigui/miniguitmp/usr/local/lib/minigui/res下面有这几个东西
bmp  cursor  font  icon  imetab
(四)修改/home/arm/minigui/miniguitmp/etc/MiniGUI.cfg文件
[system]                                                                    
# GAL engine and default options                                            
gal_engine=fbcon                                                            
defaultmode=320x240-16bpp                                                   
                                                                            
# IAL engine                                                                
#ial_engine=qvfb                                                            
#mdev=/dev/input/mice                                                       
ial_engine=console                                                          
mdev=/dev/mouse                                                             
mtype=IMPS2                                                                 
                                                                            
[fbcon]                                                                     
defaultmode=320x240-16bpp                                                   
                                                                            
[qvfb]                                                                      
defaultmode=320x240-16bpp                                                   
display=0            

一般就上面几个地方要修改
然后把MiniGUI.cfg下载到开发板的/etc/目录下
(五)下载minigui的运行库

    把PC上/home/arm/minigui/miniguitmp/lib中所有的运行库下载到开发板上的/usr/lib目录下;
在把PC上/home/arm/minigui/miniguitmp/usr/local/lib下的minigui目录整个下载到开发板的/usr/lib下面,到现在开发板上应该有这些东西了
在开发板的/usr/lib下面有
lib.tar.bz2               libminigui-1.6.so.10      libvcongui-1.6.so.10.0.0
libmgext-1.6.so.10        libminigui-1.6.so.10.0.0  libvcongui.a
libmgext-1.6.so.10.0.0    libminigui.a              libvcongui.la
libmgext.a                libminigui.la             libvcongui.so
libmgext.la               libminigui.so             minigui
libmgext.so               libvcongui-1.6.so.10
其中minigui是目录
在开发板的/etc下面应该有MiniGUI.cfg文件存在。
现在准备工作已经已经完成,下面应该移植一些演示程序。
(六)编译mg-samples-1.6.10

在编译之前先把低版本的autconf换成高版本(因为我使得的红帽子版本低,编译不过去,要是本版高的话,直接略过进行操作1)

cd /usr/src
wget http://files.directadmin.com/services/custombuild/autoconf-2.63.tar.gz(找不到在想办法)
tar xzf autoconf-2.61.tar.gz
cd autoconf-2.63
./configure --prefix=/usr
make
make install

编译过程中又出现了GNU的版本低,本人有下载了m4-1.4.13.tar.bz2。

tar jxvf m4-1.4.13.tar.bz2  -C ./

cd m4-1.4.13

./configure

make

make install

编译成功之后可进行以下操作(这是低版本要做的)
1、进入/home/arm/minigui/mg-samples-1.6.10
修改configure.in第30行,这一步有没有用说不清楚,改成下面的样子
AC_CHECK_HEADERS($prefix/include/minigui/common.h, have_libminigui=no, foo="bar")
2、修改configure文件
在文件的最前面加上交叉编译的工具
CC=arm-linux-gcc
CPP=arm-linux-cpp
LD=arm-linux-ld
AR=arm-linux-ar
RANLIB=arm-linux-ranlib
STRIP=arm-linux-strip
3、运行configure进行配置
[root@localhost mg-samples-1.6.10]# ./configure --prefix=/home/arm/minigui/miniguitmp/ /
--build=x86_64-linux /
--host=arm-unknown-linux /
--target=arm-unknown-linux
最后还是有
configure: WARNING:
        MiniGUI is not properly installed on the system. You need
        MiniGUI Ver 2.0.0 or later for building this package.
        Please configure and install MiniGUI Ver 2.0.0 first.

这个提示,不管他。
4、修改src/Makefile文件
找到
CC = arm-linux-gcc
改成
CC = arm-linux-gcc -I/home/arm/minigui/miniguitmp/include -L/home/arm/minigui/miniguitmp/lib

CFLAGS = -g -O2 -`Wall -Wstrict-prototypes -pipe
改成
CFLAGS =-O2

LIBOBJS = 
改成
LIBOBJS = -lminigui -lmgext -lm  -lpthread

LIBS =  -lminigui
改成
LIBS =  -lminigui -lmgext -lm  -lpthread

COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) /
    $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
改成
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) /
    $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -lminigui -lmgext -lm  -lpthread
5、进入/home/arm/minigui/mg-samples-1.6.10/src
运行make
…………
然后在res目录下会有很多可执行文件。


(本人现在还没有实验,只是编译成功啦)

原创文章 13 获赞 5 访问量 1万+

猜你喜欢

转载自blog.csdn.net/cgq081616/article/details/5403785
今日推荐