minigui

2026/1/19 15:49:26

注意:MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了 :) 这个库装起来最麻烦,全部自己手动编译,安装,下面一步一步来做吧:) [user]# tar zxf freetype-1.3.1.tar.gz //老一套 [user]# cd freetype-1.3.1 //进到目录里去

[user]# mkdir –p /opt/st2410/libttf/extend // 自己另外建立一个目录

[user]# cp freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* libttf/ //把有用的东西拷出来

[user]#cp freetype-1.3.1/lib/extend/* 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了 现在手动安装,得自己建立一下目录

[Root] mkdir –p /usr/local/arm/2.95.3/arm-linux/include/freetype1/freetype

[Root] cp *.h extend/*.h /usr/local/arm/2.95.3/arm-linux/include/freetype1/freetype [Root] cp libttf.so /usr/local/arm/2.95.3/arm-linux/lib 安装库完成,哈!

经过试验发现 MiniGUI 1.3.3 版本在链接 ljpeg lpng lttf 时老是要链接 /usr/lib 下的库,没办法,用老方法

[Root]# cd /usr/lib

[Root]# mv libjpeg.so libjpeg.so_back

[Root]# ln –s /usr/local/arm/2.95.3/arm-linux/lib/libjpeg.so ./libjpeg.so //指向 arm 的库

[Root]# mv libpng.so libpng.so_back

[Root]# ln –s /usr/local/arm/2.95.3/arm-linux/lib/libpng.so ./libpng.so [Root]# mv libttf.so libttf.so_back

[Root]# ln –s /usr/local/arm/2.95.3/arm-linux/lib/libttf.so ./libttf.so 完成以上工作后就可以编译 libminigui 了

[user]# cd libminigui-1.3.3

[user]# make menuconfig //就用图形界面来配置就好了,不要用一堆 –enable-xxx 之类的,太麻烦

如果在 make menuconfig 出错,去检查一下你的 gcc ,前面我们把它指向 arm-linux-gcc ,问一下,你改回来没有??????? 下面是配置libminigui

在 System Wide Options 里如下:

[*] Build MiniGUI-Lite //用 Lite 方式编译,不是Thread 方式,这里适用于 PDA [ ] Stand-Alone

[ ] Use incore (built-in) resource //建议不要选这个,老有问题 [*] Unit of timer is 10ms [*] Cursor support

[ ] User can move window with mouse //建议别选这个,可以移动蛮烦人的 [*] Mouse button can do double click [*] Build with debugging messages

[ ] Trace messages of MiniGUI //不要选这个,出来的Trace太多,看不过来 [*] Include symbol name of messages 在 GAL engine Options 里 (NEWGAL) GAL and its engines

[*] NEWGAL engine on Linux FrameBuffer console

[ ] NEWGAL engine on Qt Virtual FrameBuffer //建议不要选这个,不然老让你用qvfb [ ] NEWGAL engine on eCos LCD interface [*] Dummy NEWGAL engine

[*] Have console on Linux FrameBuffer

在 IAL engine options 里 [ ] EP7211-based board [ ] ADS Graphics Client [ ] iPAQ H3600 (also H3800) [ ] MPC823 [ ] PX255B [ ] NEC VR4181 [ ] Helio Touch Panel [ ] MT T800

[*] SMDK2410 Touch Screen

[ ] uClinux Touch Screen Palm/MC68EZ328

[*] Dummy IAL engine

[*] Native (console) input engine

--- Native IAL engine subdriver options [ ] PS2 mouse

[ ] IntelligentMouse (IMPS/2) mouse [ ] MS mouse [ ] MS3 mouse [*] GPM daemon

在 Font Option 里 [*] Raw bitmap font

[ ] Var bitmap font //千万不要选这个,不然会出现 unreferenced vfb_Courier8x8() 之类的错误 [*] Incore font sansserif [*] Incore font courier [*] Incore font symbol [*] Incore font vgas [*] Qt Prerendered Font [*] TrueType font [ ] Adobe Type1 font

在 Image Options 里

[*] Includes SaveBitmap-related functions [ ] PCX file support [ ] LBM/PBM file support [ ] TGA file support [*] GIF file support [*] JPG file support [*] PNG file support 在 Input Medthold Option 里 [*] IME (GB2312) support

[ ] IME (GB2312) Intelligent Pinyin module //千万不要选这个,不然后面你的 mginit 程序一启动就崩溃了(Abort ,有点像 OOP 一样,显示所有的寄存器的值,然后Abort),暴不爽 在 Development Environment Option 里 (Linux) Platform

(arm-linux-gcc) Compiler //注意这里 (glibc) Libc //注意这里 --- Installation options

Path prefix: \注意这里,我们把库装到交叉编译器的目录下 --- Additonal Compiler Flags CFLAGS: \ LDFLAGS: \

其它的用缺省的选项就可以了,好了,现在退出,保存你的设置吧,然后它就开始检测你的系统了,注意下面的输出:

checking for FrameBuffer console support... yes

checking for TT_FreeType_Version in -lttf... yes //True Type字体 checking for jpeg_std_error in -ljpeg... yes // jpeg 支持

checking for png_check_sig in -lpng... yes //png 图形支持,重要!!! checking for pow in -lm... yes

这里的库应该都是显示为 yes 了,如果有 no 的话,回去检查前面你有哪步做得不对,不然的话编译后的东西可能没法正常执行,切记切记!!! 如果这里通过了,那就OK了

[user]# make //又是一个漫长的等待, 在make过程中,可能会出现这个错误,

/usr/local/arm/2.95.3/arm-linux/bin/ld: template.lo: Relocations in generic ELF (EM: 3) template.lo: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[3]: *** [libminigui.la] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 [Root]# make install 解决方法:

进入到libminigui-1.3.3/src

把template.o 和template.lo文件删除掉

下在终端执行先面命令(终端也要进入到libminigui-1.3.3/src目录下) arm-linux-gcc -c -fPIC -O2 template.c

然后再执行 arm-linux-gcc --shared -o template.so *.o 然后重新make就好了. [user]# make install


minigui.doc 将本文的Word文档下载到电脑
搜索更多关于: minigui 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219