ubuntu11.10+交叉编译hi3515+minigui

        工作需要,要交叉编译个minigui程序,在网上搜罗很多资料,到最后都没有成果,最后才发现,玛德原来是我的minigui的源文件有损坏,具体情况是我先在ubuntu11.10上用minigui写的程序,不知道什么时候把minigui源文件夹给改动了,最后交叉编译的时候就一直没有成功。一直都报一个错误:  font/.libs/libfont.al(mapunitobig5.lo): could not read symbols: File in wrong format  。 在网上搜,只有两个结果,一个网页打不开,一个源文件不存在。郁闷。 苦劳了很久,然后我就重新解压了minigui-1.6.10.tar.gz 再去编译就成功了。 不容易啊:现总结如下:

参照:http://blog.chinaunix.net/uid-20759926-id-2854519.html 的帖子。十分感谢。


一、ZLIB库的移植
这个库是接下来的基础,所以很重要。首先下载库的源文件http://www.zlib.net/zlib-1.2.3.tar.gz 下载到miniguilib/里进行解压缩成miniguilib/zlib-1.2.3
1.修改CC ,CPP,AR,RANLIB,LDSHARED为交叉编译              //这里可以改配置文件,也可以将gcc连接到你要交叉编译的编译器,不过编译2.LD=arm-hismall-linux-ld                                                        //后要改回来,这样做比较方便.
3.
[root@localhost zlib-1.2.3]# ./configure --prefix=/home/jinhequan/minigui/myinstall --shared
[root@localhost zlib-1.2.3]# make
[root@localhost zlib-1.2.3]# make install
二、PNG库的移植
老一套,先下载源文件再进行解压缩到miniguilib/下面,用飞漫和minigui的下载目录下载libpng_src.tgz或者是下载地址http://superb-east.dl.sourceforge.net/sourceforge/libpng/libpng-1.0.10rc1.tar.gz
1.cp scripts/makefile.linux ../Makefile
2.
修改 Makefile
CC=arm-hismall-linux-gcc
prefix=/home/jinhequan/minigui/myinstall
ZLIBLIB=/home/jinhequan/minigui/myinstall/lib 前面 ZLIB库目录
ZLIBINC=/home/jinhequan/minigui/myinstall/include #前面 include库目录
[root@localhost libpng]make
[root@localhost libpng]make install
三、jpeg 库的移植
第一步还是原来的办法先下载再解压,目录都是统一的miniguilib/ ,源文件的下载地址是:ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
./configure --prefix=/home/jinhequan/minigui/myinstall CC=arm-hismall-linux-gcc 不要加上 --enable-shared --enable-static会提示 make: ./libtool:命令未找到
[root@localhost jpeg-6b]# make
[root@localhost jpeg-6b]# make install
四、libttf 库的移植
http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz 这个库只能全手动安装和编译
[root@localhost miniguilib]# tar xvzf freetype-1.3.1.tar.gz
[root@localhost miniguilib]# mkdir libttf
[root@localhost miniguilib]# cp -p -R freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* libttf/
[root@localhost miniguilib]# cd libttf/
执行下面命令行:
arm-hismall-linux-gcc -c -fPIC -O2 freetype.c
arm-hismall-linux-gcc -c -fPIC -O2 -I./ extend/*.c
arm-hismall-linux-gcc --shared -o libttf.so *.o
cp libttf.so /home/jinhequan/minigui/myinstall/lib
五、MINIGUI库文件移植  //这一步一定要注意,推荐重新解压官方包,要不有些莫名其妙的错误。
[root@localhost libminigui-1.6.10]#
./configure --host=arm-hismall-linux --target=arm-hismall-linux --enable-jpgsupport=yes --enable-pngsupport=yes --enable-gifsupport=yes --disable-lite --prefix=/home/jinhequan/minigui/myinstall

这是我的编译配置参数 ,如果你用到了ext库的东西,一定要把scrollview打开,ext库的好几个控件都用到了scrollview, 记住了ext库的有些函数在libminigui-1.6.so.10 所以如果你更新了ext的东西,记住一定要把 libminigui-1.6.so.10 libmgext-1.6.so.10这两个库拷过去,要不会提示函数未定义。

./configure --prefix=/opt/libs --host=arm-hismall-linux --target=arm-hismall-linux --disable-lite --enable-qvfbial=no --enable-nativeps2=no --enable-nativems=no --enable-nativems3=no --enable-nativegpm=no --enable-textmode=no --enable-aboutdlg=no --enable-savescreen=no --enable-videoqvfb=no --enable-gifsupport=yes --enable-jpgsupport=no --enable-pngsupport=no --enable-savebitmap=no --enable-libvcongui=no --enable-adv2dapi=yes --enable-ctrlpropsheet=no --enable-ctrlscrollview=no --enable-ctrltextedit=no          //红字的部分按需要自己设定

   
make
make install
六、MINIGUI资源文件的移植    
minigui-res-1.6.10.tar.gz
修改configure.linux文件,指明TOPDIR=/home/jinhequan/minigui/myinstall
执行
make install
myroot\usr\local\lib\minigui\res 有 bmp cursor font icon imetab 文件目录
七、应用程序及配置
mg_samples-1.6.10.tar.gz
修改Makefile.am,INCLUDES=-I/home/jinhequan/minigui/myinstall/include
[root@localhost samples-1.6.10]#./configure --host=arm-hismall-linux --target=arm-hismall-linux --enable-jpgsupport=yes --enable-pngsupport=yes --enable-gifsupport=yes --disable-lite --prefix=/home/jinhequan/minigui/myinstall
[root@localhost samples-1.6.10]# make
#注,若编不过,直接修改src中的Makefile的CC
eg:CC = arm-hismall-linux-gnu-gcc -I/home/jinhequan/minigui/myinstall/include -L/home/jinhequan/minigui/myinstall/lib -ljpeg -lpng
mde-1.6.10.tar.gz
[root@localhost mde-1.6.10]# ./configure --host=arm-hismall-linux --target=arm-hismall-linux --enable-jpgsupport=yes --enable-pngsupport=yes --enable-gifsupport=yes --disable-lite --prefix=/home/jinhequan/minigui/myinstall
[root@localhost mde-1.6.10]# make
拷贝上面子目录的程序及所有res目录到 myroot/usr/bin 中
最后复制/home/jinhequan/minigui/myinstall/etc/MiniGUI.cfg 到 /etc/MiniGUI.cfg
修改 MiniGUI.cfg
# GAL engine and default options
gal_engine=fbcon
defaultmode=480x272-32bpp
# IAL engine
ial_engine=fbcon
mdev=/dev/input/mouse
mtype=IMPS2

到最后才发现,其实minigui交叉编译不是很复杂,只要知道了交叉编译工具,配置的东西。

最后再说一次:  最好每个库都从官方下载压缩包,如果你已经解压使用了,就从新解压一个文件夹然后再开始编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值