没有合适的资源?快使用搜索试试~ 我知道了~
minigui+tslib编译全过程.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 49 浏览量
2021-10-02
12:02:11
上传
评论
收藏 90KB PDF 举报
温馨提示
试读
23页
minigui+tslib编译全过程.pdf
资源推荐
资源详情
资源评论
第一部分: minigui-1.3.3 移植到 SEP4020EVB详解
在这里只讲怎样将 minigui-1.3.3 移植到开发板 EVB-SEP4020 上去,在 pc上安装 minigui-1.3.3
不用讲,这里我用到的交叉编译器是 arm-linux-gcc3.4.1
MiniGUI 的编译需要一些库文件,缺省我们的 gcc 基本上都有这些库文件,所以不需要安
装,可是现在要交叉编译了, 交叉编译器可是不带这些库文件的, 所以我们得首先自己编译
这些库文件装到交叉编译器中去。
注意一点:库不一定要装最新的,库版本太新, MiniGUI 有可能不认识,像 jpeg 库和 ttf
库就是这样,太新了反而用不了,所以要注意版本,以下的库都是我验证过可以和 MiniGUI
一起工作的,其它版本的库没试过,不保证能正确通过:)
(1) 首先安装 zlib 库,这个是后面的库的编译基础。
http://www.zlib.net/zlib-1.2.3.tar.gz 400 多 K,下载到目录 /root/cross 下
[user]# tar zxf zlib-1.2.3.tar.gz
由于 zlib 库的 configure 脚本不支持交叉编译选项,只好自己动用了,手动临时把 gcc
修改成指向我们的交叉编译器 arm-linux-gcc
[Root]# cd /usr/bin
[Root]# mv gcc gcc_back
[Root]# ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc ./gcc
[Root]# mv ld ld_back
[Root]# ln -s /usr/local/arm/3.4.1/bin/arm-linux-ld ./ld
OK ,修改完成后回到 /root/cross/zlib-1.2.3 目录下
[user]#./configure --prefix=/usr/local/arm/3.4.1/arm-linux --shared
注 意 : 这 里 配 置 指 向 /usr/local/arm/3.4.1/arm-linux 目 录 , 会 自 动 安 装 在
/usr/local/arm/3.4.1/arm-linux / [include,lib] 目录下,千万不要装错目录了,不然
后面会找不到这个库的
[user]# make
[Root]# make install
若用 gcc3.4.1 是不会出现什么错误的,呵呵。
安 装 完 后 检 查 一 下 目 录 /usr/local/arm/3.4.1/arm-linux / [include,lib] , 假 如
include 中没有 zlib.h 之类的头文件, lib 中没有 libz.so.1.2.3 ,那就自己手动拷到
这些目录下去, 记着拷的时候把所有的 *.h 都需要拷过去, 在拷库的时候用 cp –a libz.*
/,./lib 就行,要用上 –a 选项
记着把刚才改过的 gcc 再改回去,不然后面会出错的!!!!!(一定记得改)
【root 】# cd /usr/bin
【root 】# mv gcc_back gcc
【root 】# mv ld_back ld
(2)安装 png 库,这个是用来显示 png 图形的, MiniGUI 里很多图都是 png 的,如果没
有这个库,你的 MiniGUI 将无法正常工作,切记切记!
http://prdownloads.sourceforge.net/libpng/libpng-1.2.18.tar.bz2?download ( png
库)
还是那句话,库不要用最新的,最新的容易有问题,用这个老一点的就没问题了,呵
[root]# tar zxf libpng-1.2.18 .tar.gz
[root]# cd libpng-1.2.18
[root]# ./configure CC=arm-linux-gcc --build=i686-pc-linux --target=arm-linux
--host=arm-linux prefix=/usr/local/arm/3.4.1/arm-linux
注意这边的配置:①使用交叉编译器②安装目录③— host 指定软将运行平台,不然终端
也会提示说叫你使用— host 参数的。
# make
# make install
安装完 了,查看下 /usr/local/arm/3.4.1/arm-linux/ 目录下的 lib 文件夹里是 否有
libpng.a ,
libpng.so 等文件和 include 文件夹里是否有 png.h ,pngconf.h 文件以及 libpng12 文
件夹。
(3)第三步:安装 jpeg 库
在 http://download.enet.com.cn/html/242232006010901.html (jpeg 库)下载到
/root/cross/ 下面
# cd /root/cross/jpeg-6b
# ./configure CC=arm-linux-gcc --build=i686-pc-linux --target=arm-linux
--host=arm-linux prefix=/usr/local/arm/3.4.1/arm-linux --enable-shared
在 make 之前注意:从前面 libpng-1.2.18 的源码目录中把 libtool 拷贝过来,放在
/home/source/minigui/jpeg-6b 目录下,否则会出现“ make: ./libtool: command not
found ”错误。
另外要注意的是:不能使用系统的 libtool ,因为这里要进行的是交叉编译。
# make
下面创建一个目录,否则 make install 的时候会报错。
# mkdir -p /usr/local/arm/3.4.1/arm-linux/man/man1
# make install
安装完了,查看下 /usr/local/arm/3.4.1/arm-linux/ 目录下的 lib 文件夹里是否有
libjpeg.so ,
libjpeg.so.62.0.0 等文件和 include 文件夹里是否有 jpeglib.h 文件。
(4)第四步:安装 libttf 库,这个是 TrueType 字体的支持库,用来显示文字的。
http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz 下载
到/root/cross/ 下面
注意: MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了
这个库装起来最麻烦,全部自己手动编译,安装,下面一步一步来做吧
[user]# tar zxf freetype-1.3.1.tar.gz // 老一套
[user]# cd freetype-1.3.1 // 进到目录里去
[user]# mkdir – p /root/cross/libttf/extend // 自己另外建立一个目录
[user]# cp ./lib/* ./lib/arch/ansi/* /root/cross/libttf/ // 把有用的东西拷出来
[user]#cp ./lib/extend/* /root/cross/libttf/extend/ // 把 extend 目录下的文
件也拷出来
注意 cp 命令不要用 –r 选项,因为会把一些没用的东西出拷出来的
拷贝完成了,现在来自己手动编译了
[user]# cd libttf( 就是上面新建的一个目录 )
[user]# arm-linux-gcc -c -fPIC -O2 freetype.c // 不要奇怪, 对,我们只要编译这一个 .c
文件,因为它包括了其它所有的 .c 文件了,你可以自己查看它的内容
[user]# arm-linux-gcc -c -fPIC -O2 -I./ extend/*.c 把 extend 下所有的 .c 文件全
部编译
[user]# arm-linux-gcc --shared -o libttf.so *.o 生成最后的动态链接库, OK了
此时应该在 libttf 下会出现一个 libttf.so 库文件
现在手动安装,得自己建立一下目录
[Root] mkdir -p /usr/local/arm/3.4.1/arm-linux/include/freetype1/freetype
[Root] cp *.h extend/*.h
/usr/local/arm/3.4.1/arm-linux/include/freetype1/freetype
[Root] cp libttf.so /usr/local/arm/3.4.1/arm-linux/lib
安装库完成,哈!
(5)第五步:编译安装 miniGUI 资源包 minigui-res-1.3.3
http://www.minigui.com/download/minigui-res-1.3.3.tar.gz (miniGUI 资源包)下
载到 /root/cross/ 目录下
# cd /root/cross/minigui-res-1.3.3
# make install
默认安装到 /usr/local/lib/minigui/res 目录。 切记后面一定要将此处的资源包拷过去
(6)第六步:配置编译安装 miniGUI
http://www.minigui.com/download/libminigui-1.3.3.tar.gz (miniGUI 库) 下载到
/root/cross/ 目录下
MiniGUI 1.3.3 版本在链接 ljpeg lpng 时老是要链接 /usr/lib 下的库,没办法,只好
用
前面的方法,使用备份和软连接的方法。
# cd /usr/lib
# mv libjpeg.so libjpeg.so_back
#mv libpng.so libpng.so_back
# mv libttf.so libttf.so_back
# ln -s /usr/local/arm/3.4.1/arm-linux/lib/libttf.so ./libttf.so
# ln -s /usr/local/arm/3.4.1/arm-linux-gcc/lib/libpng.so libpng.so
# ln -s /usr/local/arm/3.4.1/arm-linux-gcc/lib/libjpeg.so libjpeg.so
下面进行配置安装:
# cd /root/cross/libminigui-1.3.3
由于我使用的是 ubuntu8.04 ,所以在这不能使用图形化配置界面 make menuconfig ,因为这
样在退出保存时会提示你无法保存,
在此不得不说用 ubuntu 开发搓!!!若用 fedora8 就没这些问题了
没办法只好用字符界面一个个的配置了
#./configure CC=arm-linux-gcc --build=i686-pc-linux --target=arm-linux
--host=arm-linux --disable-galqvfb --disable-galecoslcd --disable-vbfsupport
--disable-ttfsupport --disable-type1support
prefix=/usr/local/arm/3.4.1/arm-linux
若是在 fedora 下开发可用 make menuconfig, 具体配置如图:
在 GAL engine Options 里
(NEWGAL) GAL and its engines
[*] NEWGAL engine on Linux FrameBuffer console
[ ] NEWGAL engine on Qt Virtual FrameBuffer
[ ] NEWGAL engine on eCos LCD interface
[*] Dummy NEWGAL engine
[*] Have console on Linux FrameBuffer
在 Font Option 里
[*] Raw bitmap font
[ ] Var bitmap font // 这个选项去掉,否则,编译时老出错
[*] Incore font sansserif
[*] Incore font courier
[*] Incore font symbol
[*] Incore font vgas
[*] Qt Prerendered Font
[ ] TrueType font // 如果需要对这个字体支持, 需要下载编译安装 freetype 库
[ ] Adobe Type1 font // 如果需要对这个字体支持,需要下载编译安装
freetype 库
剩余22页未读,继续阅读
资源评论
资料大全
- 粉丝: 14
- 资源: 26万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功