一片冰心在玉壶

那时我们有梦,关于文学,关于爱情,关于穿越世界的旅行, 如今我们深夜饮酒,杯子碰到一起,都是梦破碎的声音. 交往都是初逢,爱情都在心里,往事都在梦中, 希望都带着注释,信仰都带着呻吟. 总有善意的光逃避现世的繁琐而寻找片刻的安宁, 也许,就是你凝视这里的眼睛

博客园 首页 联系 订阅 管理

在LINUX入门边上,最近一直在学习。。。本来打算用QT的。。发现那东西太大,,,,最还是选择MINIGUI。。

下面是安装过程及出现问题的一些解决方法。

选择MINIGUI1.6.2,下载地址:http://blog.21ic.com/user1/5108/archives/2008/50737.html

1 安装minigui库、资源

  编译 libminigui  ,这个是 minigui 运行所必需的库文件,必须编译成功

这里最好是把
# ./configure                 //最简单的编译方式,让它自己去配置 ,这里采用缺省的Thread 模式而不是Lite模式,因为这种方式在 PC 机上使用最方便,后面移到板子上再改成 Lite 模式即可

通过后,开始编译
# make
接来来就是漫长的等待了,让它慢慢的编译吧
# make install

好了,编译完成,下一步解压安装minigui资源:

# cd minigui-gpl-res-1.6

# make install

至此库和资源安装完毕,还需要进行一些设置:

首先,修改你的 /etc/ld.so.conf 文件,在里面最后新加入一行 /usr/local/lib

    这 一步最关键,决定你开始的程序能不能找到它的库

然后执行

# ldconfig
# vi /usr/local/etc/MiniGUI.cfg

在里面找到
[system]
# GAL engine
#gal_engine=fbcon
gal_engine=qvfb   //这里修改


# IAL engine
#ial_engine=console
ial_engine=qvfb    //这里修改


mdev=/dev/mouse
mtype=IMPS2

[fbcon]
defaultmode=1024x768-16bpp

[qvfb]
defaultmode=640x480-16bpp    //这里修改
display=0


保存一下,OK了! 至此库和资源安装设置完毕。

 

2 安装qvfb:qvfb这个程序可以作为minigui程序的显示载体。linux中没有这个程序,所以需要我们安装一下,然后minigui程序就可以显示在qvfb上了。

拷贝光盘上的qvfb-1.1.tar.gz包到/usr/minigui下,然后解压、安装。

# tar zxf qvfb-1.1.tar.gz
# cd qvfb-1.1
# ./configure
# make
# make install

可能出现的问题:

 

安装完毕!

1. 启动程序时出错:
NEWGAL: Set video mode failure.
GDI: Can not initialize graphics engine!
InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.
Video mode smaller than requested
原因:qvfb中的显示设置与MiniGUI.cfg中的显示设置不一样所致,修改成一样就可以了。
2. 启动程序时出错:GAL: Does not find matched engine.
GDI: Can not get graphics engine information!
InitGUI failure when using incore resource.
原因:在配置MiniGUI时没有选择qvfb选项或没有选择需要的位深支持,进入make menuconfig中的“GAL engine options”,选上“Native GAL engine on Linux FrameBuffer console”、“Native GAL engine on Qt Virtual FrameBuffer”和需要的位深模式(如“16BPP FB”)后重新编译即可。
3. 我自己写了一个程序,但是在编译时提示:linux:/home/work1/app # gcc -o hello hello.c -lpthread -lminigui
/usr/local/lib/libminigui.so: undefined reference to `CustomizeDesktopMenu’
/usr/local/lib/libminigui.so: undefined reference to `CustomDesktopCommand’
collect2: ld returned 1 exit status
原因:我使用的是MiniGUI-Thread(在make menuconfig中指定),程序中没有包含必须的minigui/dti.c,所以会出错。
4. /usr/local/lib/libminigui.so: undefined reference to `pthread_kill_other_threads_np’
原因:删除 MiniGUI 源代码中调用’pthread_kill_other_threads_np’这个函数
的语句。应该在 src/kernel/init.c 文件中,也可以运行 grep 找一下这个函数。
5. 运行miniGUI的例子出现以下错误,
IAL Native Engine: Can not init mouse!
IAL: Init IAL engine failure.
DESKTOP: Low level event initialization failure!
InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.
原因:修改/usr/local/etc/MiniGui.cfg文件:
     [system]
     # GAL engine
     gal_engine=qvfb
     # IAL engine
     ial_engine=qvfb
6. freetype_font_ops问题解决方法:a.把头文件中的extern FONTOPS freetype_font_ops;改为static FONTOPS freetype_font_ops;b.安装freetype-1.3.1

 

7 cheching for Qt...configure:error: Qt(>= Qt 3.0.3)(headers and libraries)not found.please check your installation!

解决办法:使用kde 即可 不要用gnome ,或用默认的QT。。。。或编译qt时候加上-thread就可以了

 3 移植过程

1  在X86的LINUX上设置:/etc/ld.so.conf 文件,在里面最后新加入一行 /usr/local/lib

2 把PC上的/usr/local/lib 拷到X86上相同的文件夹下

 

posted on 2011-05-11 13:52  Sankye  阅读(1660)  评论(0编辑  收藏  举报