去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的更多相关文章

  1. Deepin Linux 实体机安装

    Deepin Linux 实体机安装 1.下载ISO镜像并刻录到U盘上 系统ISO镜像下载 深度技术 刻录工具下载 深度技术(下方有深度启动盘制作工具下载) 这两个都下载好之后,打开刻录工具,选择镜像 ...

  2. kali linux宿主机和虚拟机互访实现方案

    1.攻防模拟中,将DVWA安装到自己的宿主机中,在kali Linux中通过sqlmap和其他工具启动嗅探攻击,需要配置网络.虚拟机采用桥接方式,并复制Mac地址状况. 2.查看各自系统下的IP地址. ...

  3. Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

    首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥 ...

  4. Arch Linux实体机安装记录

    下面将记录笔者在戴尔笔记本安装arch linux的过程,用于记录,以便下次使用. 本文的内容参考arch linux官方Wiki. 首先,使用Power ISO把镜像安装到U盘,使用U盘安装. 通过 ...

  5. Linux虚机安装配置Tomcat

    d第一步:下载Tomcat包,网址http://tomcat.apache.org/ 选择tar.gz包下载,并传到虚机中 第二步:解压下载好的Tomcat包 命令:tar -zxvf apache- ...

  6. 宿主机共享文件夹给不同Linux虚拟机的方法

    一.Windows/Linux宿主机共享文件夹给VMWare中的Linux虚拟机 1.能安装vmware tools1)在vmware的ubuntu中安装vmware tools2)在vmware中开 ...

  7. docker 访问宿主机网络

    使用宿主机IP 在安装Docker的时候,会在宿主机安装一个虚拟网关docker0,我们可以使用宿主机在docker0上的IP地址来代替localhost. 首先,使用如下命令查询宿主机IP地址: i ...

  8. 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接

    如何配置 VirtualBox 中的客户机与宿主机之间的网络连接 作者: Aaron Kili 译者: LCTT rusking | 2017-03-01 13:40   评论: 3 收藏: 3 当你 ...

  9. 宿主机远程桌面连接vmware中的虚拟机

    参考了:http://jingyan.baidu.com/article/3052f5a1e8c56397f21f8674.html   感谢~ 宿主机安装了vmware,vmware中安装虚拟机,怎 ...

随机推荐

  1. asp.net学习之 数据绑定控件--表格绑定控件

    原文:asp.net学习之 数据绑定控件--表格绑定控件     数据绑定 Web 服务器控件是指可绑定到数据源控件,以实现在 Web 应用程序中轻松显示和修改数据的控件.数据绑定 Web 服务器控件 ...

  2. 金蝶K3无法创建数据库,请查看该文件夹的错误的解决方法。

    无法创建数据库! 检查你的文件夹C:\XXX\DATA是否存在.并且该系统是不低,或SQL Server服务的启动用户不具备<K3ERP\DBFILE>文件夹的写权限.请改动Windows ...

  3. Dynamics CRM2013/2015 禁止欢迎屏幕(Disable the Welcome Screen)

    首先打开Dynamic CRM  2013将有一个欢迎界面的例子,下面的图,它不会为了图检查框出现.OK然后,下一次打开就没有. 可是当我们打开F12开发者工具,清除域的缓存后再次打开CRM,这个欢迎 ...

  4. 【Swift初见】Swift词典

    顾名思义.当我们仰望的时候,我们将基于索引查找我们需要找到的资源.在swift这同样适用,每个对象包括字典key和value.我们key为了找到当前这个key相应的value.与数组不同的是,字典项字 ...

  5. Microsoft Build 2015

    Microsoft Build 2015 汇总   简要概括(GitHub 完成约 45%): Visual Studio Code Preview Visual Studio 2015 RC Vis ...

  6. linux_创建用户_copy远程文件_解压缩_执行

    查看历史命令: history 创建用户: sudo useradd -m -s /bin/bash cph  [会自动创建cph文件夹,并将才cph文件夹权限和组设为cph] 创建用户密码: pas ...

  7. 通过SMTP协议来发送邮件

    简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准. SMTP是一个相对简单的基于文本的协议.在其之上指定了 ...

  8. PHP移动互联网的发展票据(6)——MySQL召回数据库基础架构[1]

    原文地址 :http://www.php100.com/html/php/api/2014/0326/6707.html 一.数据类型 1.整型 数据类型 存储空间 说明 取值范围 TINYINT 1 ...

  9. JavaScript 奇技淫巧

    JavaScript 奇技淫巧 这里记录一下以前学习各种书籍和文章里边出现的JS的小技巧,分享给大家,也供自己查阅,同时感谢那些发现创造和分享这些技巧的前辈和大牛们. 1.遍历一个obj的属性到数组 ...

  10. 利用webBrowser获取框架内Html页面内容

    原文:利用webBrowser获取框架内Html页面内容 利用webBrowser获取页面比较简单,MSDN下有示例,在这里不必多说. 可是一些 HTML 文档由“框架”构成,或可以存放它们自己独特 ...