Linux 宿主机安装 MiniGUI
去MiniGUI官方网站看的时候,很兴奋,安装竟然这么容易。
上帝总是在给你一个苹果之后,赏你一巴掌。我的确是高兴太早了。
首先看一下官网文档的说明步骤:
(截取于官方文档)
Installing resource files of MiniGUI
We must install resource files of MiniGUI first. Please follow the steps below to do it:
1) Use `tar' to extract minigui-res-be-3.0.12.tar.gz. You can use
the following command: $ tar zxf minigui-res-be-3.0.12.tar.gz 2) Change to the new directory and run `configure' and `make install' as a super user:
$ ./configure
$ sudo make install
Configure and compile MiniGUI
MiniGUI uses `automake' and `autoconf', so configuration and compilation of MiniGUI are very easy:
1) Use `tar' to extract `libminigui-gpl-3.0.12.tar.gz' to a new directory:
$ tar zxf libminigui-gpl-3.0.12.tar.gz
2) Change to the new directory and run `./configure':
$ ./configure
3) Run the following commands to compile and install MiniGUI:
$ make; sudo make install;
4) By default, the libraries of MiniGUI will be installed in
`/usr/local/lib'. You should make sure that this directory
is listed in `/etc/ld.so.conf' file. And after having installed
them, you should run the following command to update the cache
of shared library system:
$ sudo ldconfig
5) If you want to specify which features MiniGUI provides, you
can run
$ ./configure --help
to see the complete configuration options listed, then disable or
enable some features by using command line switches. For example,
if you do not want MiniGUI to load JPEG pictures via the function
LoadBitmap, you can use
$ ./configure --disable-jpgsupport
6) Note that some features of MiniGUI depend on other libraries.
Please make sure that you have installed them.
Run samples of MiniGUI
Before running the sample programs, you should extract the mg-samples-3.0.12.tar.gz and compile it:
1) Extract the tarball to a new directory by using `tar' command.
2) Run `./configure' and `make' to compile the demos.
$ ./configure
$ make
3) Try to run the samples. For example, you can go to
`mg-samples-3.0.12/same/' to run `same':
$ cd same
$ ./same
先下载四个文件:minigui-res-be-3.0.12.tar、libminigui-gpl-3.0.12.tar、mg-samples-3.0.12.tar、qvfb2-2.0.tar
这四个是装 MiniGUI 最基本的四个文件。
步骤流程几乎都是以下三步:
1、 ./configure
2、make
3、make install
但如果能像官方文档那样一个错误没有就PASS的话,那一定是中了六合彩了。
下面来记录以下我当时发生的种种错误。
刚开始 ./configure 会出现权限错误,咦,我是root用户,我是上帝,为什么会错?Linux 有个区域是上帝禁区,你就是没权利。
好吧。那怎么办?
bash ./configure 这样就OK了。我不会告诉你why,因为我自己也不知道。
之前有用 ./configure 无法应用,所以直接用 sudo sh configure 这样执行,但是会出现小的BUG,即使不会报错,会影响库的完整性。
最先安装 minigui-res-be-3.0.12.tar 这个是最顺利的。
其次安装 libminigui-gpl-3.0.12.tar
安装后修改 /etc/ld.so.conf 文件,在里面最后新加入一行 /usr/local/lib
然后执行 ldconfig 更新库文件
OK!
现在安装 qvfb2-2.0.tar
./configure
报错:
checking for Qt... configure: error: Qt (>= Qt 3.0.3) (headers and libraries) not found. Please check your
installation!
For more details about this problem, look at the end of config.log.
原因:装它之前 先要安装 Qt
Qt 安装步骤:
如果报错,就检查g++是否存在。
首先,确保 g++ 存在,如若没安装,就 yum install gcc-c++ 安装一下就OK了
其次,安装 yum install qt3-devel ,由于 qvfb2 或者 qvfb1 需要的是qt3,你装qt4、qt2 都会报错。
这就是所谓linuxer 无奈的地方,越自由,越会受到开发者的局限,你要是用人家软件,就要遵从人家的狗P规则。
安装Qt后继续报相同错误。
之后看网上评论:
某网友写:
yum install qt3-devel 可以安装,但是装出来的有qt3的东西 也有qt4的,不能用,仍报上面的错误,所以要删掉qt4
直接用yum安装可以避免该问题: yum install qt-devel-3.3.8-4.fc7.i386.rpm
可惜我没那么大耐心重装,你无法想象重装是多么考验人的耐心。任何事情都有解决的方法。
解决方法:
$bash ./configure --with-qt-dir=/usr/lib/qt-3.3 --with-qt-includes=/usr/lib/qt-3.3/include
这样就可以顺利编译了,只是 configure 要指定QT库函数而已。
qvfb2 已经安装好后,直接在命令行输入 qvfb2 ,会输出一行:oops:client1 : No such file or directory
咦?安装失败?
又继续查资料。。。发现,qvfb版本2 是无法直接在命令行执行的。也就是说安装成功了。我撤,那怎么测试?
安装好最后一个库就可以测试了!
库mg-samples-3.0.12.tar 骨灰级,耗费了我2个小时在装这个库。
开始./configure 出现错误
如图:

No package 'minigui' found .. 我擦,重新安装几次lib库还是没反应。这让我怎么办?
网上少部分人也说:设置PKG_CONFIG_PATH 变量,随便设置一下也是不行。
百般无奈下,换了root 用户,继续重新安装minigui-res-be-3.0.12.tar、libminigui-gpl-3.0.12.tar,有可能是lib库问题,没有装好,安装好后,还是出现以上问题。几乎装了两遍还是不好使。
之后, 重装完 libminigui-gpl 三遍后
输入:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
之后 居然成功了。。我撤。终于逃离苦海了。
但是能笑到最后的人很少很少。。。
接下来
make 一下,又出现错误

这个错误别人很少有人犯。嵌入式开发最痛苦的不是难,而是烦,而且算法再难一帮人已经给你铺好路了,百度一搜一堆,嵌入式开发根本没几个人给你铺路,不会怎么办?百度谷歌没有,自己解决!
之前编译Linux 2.6 内核也往往会出现错误,所以看到这个错误也有一种相似感,突然灵感出现。
尼玛,这不就是gcc 编译器太高了。导致无法编译太低版本的Makefile 么?
怎么解决?凉拌!
顺藤摸瓜,将那个找不到的头文件注释一下就OK了。这种错误都是一样的。gcc 找不到 就注释一下,就可以蒙混过关了。
如图:

这样就可以编译成功了。
之后 cd same ; ./same
出现错误:
Does not find matched engine: qvfb.
InitGUI (step 4): Can not get graphics engine information!
作为 初级嵌入式的linuxer 不出错才是一件怪事。。。
某网友说 :
解决方法:启动qvfb &
qvfb2 根本无法启动的擦,后台启动也没用。
之后找到个网友正规一点的:
代码如下:
# 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
结果错误还是一样。
最终发现被网友误导了。
不能说网友说的不对,这种方法应该是适合 MiniGui v1 ~ v2 .
v3版本改了,而且是刚出不久,所以很多东西都要自己去实践、探索。
对于官方这配置文件,真的很无语。
所以求稳定,好配置,版本越低越好,版本越高错误越多。
改这个文件是对的,不过其实只要改一处就可以了。
[pc_xvfb]
defaultmode=1024x768-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Qt-Version)
exec_file=/usr/local/bin/qvfb2 [只改这里,其他地方不改]
改了这一处后,就成功执行了!出现扫雷画面那一刻,泪水都哗哗的啦。。。
不过革命还要继续!
明天任务是将MiniGUI 移植到龙芯2H板子上。
下面这些文件是MiniGUI 完善应用的软件:

Ps : 我想说,宁可刷无比折磨人的算法题,也不想浪费时间在装这些嵌入式开发软件。太蛋疼了!
Linux 宿主机安装 MiniGUI的更多相关文章
- Deepin Linux 实体机安装
Deepin Linux 实体机安装 1.下载ISO镜像并刻录到U盘上 系统ISO镜像下载 深度技术 刻录工具下载 深度技术(下方有深度启动盘制作工具下载) 这两个都下载好之后,打开刻录工具,选择镜像 ...
- kali linux宿主机和虚拟机互访实现方案
1.攻防模拟中,将DVWA安装到自己的宿主机中,在kali Linux中通过sqlmap和其他工具启动嗅探攻击,需要配置网络.虚拟机采用桥接方式,并复制Mac地址状况. 2.查看各自系统下的IP地址. ...
- Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案
首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥 ...
- Arch Linux实体机安装记录
下面将记录笔者在戴尔笔记本安装arch linux的过程,用于记录,以便下次使用. 本文的内容参考arch linux官方Wiki. 首先,使用Power ISO把镜像安装到U盘,使用U盘安装. 通过 ...
- Linux虚机安装配置Tomcat
d第一步:下载Tomcat包,网址http://tomcat.apache.org/ 选择tar.gz包下载,并传到虚机中 第二步:解压下载好的Tomcat包 命令:tar -zxvf apache- ...
- 宿主机共享文件夹给不同Linux虚拟机的方法
一.Windows/Linux宿主机共享文件夹给VMWare中的Linux虚拟机 1.能安装vmware tools1)在vmware的ubuntu中安装vmware tools2)在vmware中开 ...
- docker 访问宿主机网络
使用宿主机IP 在安装Docker的时候,会在宿主机安装一个虚拟网关docker0,我们可以使用宿主机在docker0上的IP地址来代替localhost. 首先,使用如下命令查询宿主机IP地址: i ...
- 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接
如何配置 VirtualBox 中的客户机与宿主机之间的网络连接 作者: Aaron Kili 译者: LCTT rusking | 2017-03-01 13:40 评论: 3 收藏: 3 当你 ...
- 宿主机远程桌面连接vmware中的虚拟机
参考了:http://jingyan.baidu.com/article/3052f5a1e8c56397f21f8674.html 感谢~ 宿主机安装了vmware,vmware中安装虚拟机,怎 ...
随机推荐
- springMVC3得知(五岁以下儿童)--MultiActionController
Spring为了提供一个多动作控制器,您可以使用它的几个行动统一到一个控制器,这可以放在一起功能. 多动作控制器存在在一个单独的包中--org.springframework.web.mvc.mult ...
- 基于Js实现的UrlEncode和UrlDecode函数代码
<script language="javascript">//UrlEncode函数function UrlEncode(str){ var ret="& ...
- 数学思想方法-分布式计算-linux/unix技术基础(3)
夹: ~表示当前用户的主文件夹 .它代表了当前文件夹 ..它代表的父文件夹 链接文件 使用不同的文件名指的是相同的数据或程序.硬链接 在相同的物理文件系统,创建一个硬链接 -bash-4.2$ fin ...
- Android Volley彻底解决(三),定制自己Request
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...
- CSS3+HTML5特效9 - 简单的时钟
原文:CSS3+HTML5特效9 - 简单的时钟 效果演示(加快了100倍) 实现原理 利用CSS3的transform-origin 及 transform 完成以上效果. 代码及说 ...
- 用python+selenium导入excel文件
连接mysql #encoding=utf-8 import pymysql import time class ConnMysql(object): def __init__(self): self ...
- 【Espruino】NO.15 nRF24L01+无线收发器
http://blog.csdn.net/qwert1213131/article/details/35853747 本文属于个人理解,能力有限,纰漏在所难免,还望指正! [小鱼有点电] [Espru ...
- 优秀的前端project如何制定一个老师--html学习路径
一个好的前端project教师发展,不是一蹴而就,它需要大量的学习和积累. 至于谁刚开始学习的人,如何入门.学习如何选择我的路线,做了各种工具? 1. 学习之前 1.不要着急看一些复杂网页效果的代码 ...
- 深入struts2.0(五)--Dispatcher类
1.1.1 serviceAction方法 在上个Filter方法中我们会看到例如以下代码: this.execute.executeAction(request, response, m ...
- 互联网点对点通讯(P2P)
摘自: http://www.cnblogs.com/zhili/archive/2012/09/14/p2p_pnpr.html 很遗憾,目前看了下代码,我测试只是做到了本地p2p. [C# 网络编 ...