MiniGui开发:ubuntu-14.04环境移植MiniGui

开发项目在嵌入式平台上使用MiniGui作为用户界面开发工具,在工作之余准备在ubuntu14.04上搭建一个测试环境,这样代码测试起来比较方便。

前前后后搞了好多天,遇到了很多麻烦,但是最后还是跑通了。作为一个之前对minigui完全不懂的小白来说,真的需要好好摸索。

总结一下:minigui真的很坑!如果不是项目必须的东西,我建议读者,能不用就不用。

问题:(1)minigui官方提供的依赖库已经是好多年前的,在移植过程中很容易出现安装错误,亲测!

(2)据说官方貌似不再维护了。所以即使遇到bug,估计也不好解决。

1、搭建开发环境

系统:ubuntu-14.04.3 i686

编译器:gcc-4.8.4, GNU Make 3.81

MiniGui资源下载:http://www.minigui.org/zhcn/download/

MiniGui库版本: 3.0.12

资源文件:

minigui-res-be-3.0.12.tar.gz

libminigui-gpl-3.0.12.tar.gz

libmgplus-1.2.4.tar.gz

mg-samples-3.0.12.tar.gz

2、编译安装MiniGui

(1)安装资源文件

解压资源文件,进入minigui-res-be-3.0.12目录

$ ./configure --prefix=/home/test/install/minigui/

$ make && make install

(2)解压资源文件,进入libminigui-gpl-3.0.12目录

$ ./configure --prefix=/home/test/install/minigui --enable-qvfbial=yes --enable-videoqvfb=yes

$ make

错误:png.c:28:17: fatal error: png.h: No such file or directory

解决:sudo apt-get install libpng12-dev

$ make install

安装完成后查看安装目录

$ ls minigui/

etc include lib share

安装完成后,在指定目录~/install/minigui下,生成了etc include lib share四个文件夹,分别放置了配置文件、头文件、库文件和资源文件,在实际开发时,需要用到这些文件。

(3)安装minigui库和头文件

解压资源文件,进入libmgplus-1.2.4目录,配置:

./configure --prefix=/home/test/install/minigui PKG_CONFIG_PATH=/home/test/install/minigui/lib/pkgconfig CPPFLAGS=-I/home/test/install/minigui/include

错误:agg_platform_support.cpp:30:28: fatal error: minigui/common.h: No such file or directory

解决:设置minigui头文件目录,CPPFLAGS=-I/home/test/install/minigui/include

执行 $ make && make install

(4)编译sample文件

解压资源文件,进入mg-samples-3.0.12目录

./configure --prefix=/home/test/install/minigui PKG_CONFIG_PATH=/home/test/install/minigui/lib/pkgconfig CPPFLAGS=-I/home/test/install/minigui/include

运行make命令进行编译。

错误:dlgdemo.c:40:27: fatal error: mgplus/mgplus.h: 没有那个文件或目录

解决:设置libmgplus头文件目录,CPPFLAGS=-I/home/test/install/minigui/include

提示:No package ‘minigui‘ found ---- 运行configure是增加 PKG_CONFIG_PATH=~/install/minigui/lib/pkgconfig;

提示:error: minigui/common.h ---- 运行configure是增加 CPPFLAGS=-I~/install/minigui/include;

3、修改配置文件

在安装目录的etc目录下生产了minigui所需的配置文件MiniGUI.cfg,将该文件拷贝到/etc目录下,并修改部分配置信息。

[system]
# GAL engine and default options
#gal_engine=pc_xvfb
gal_engine=qvfb
defaultmode=800x600-16bpp

# IAL engine
#ial_engine=pc_xvfb
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2

将默认配置修改为使用qvfb模拟器,配置资源文件目录:

cursorpath=/home/test/install/minigui/share/minigui/res/cursor/

respath=/home/test/install/minigui/share/minigui/res/

将光标目录和源目录值修改为实际的安装目录,保存退出。

4、安装qvfb模拟器

参考:http://www.cnblogs.com/hancq/p/5950382.html

5、测试

搭建测试环境,创建目录helloworld include lib,将安装目录下的头文件和静态库文件拷贝过来。

$ tree

├── helloworld
│   ├── helloworld.c
│   ├── helloworld_res_cn.h
│   ├── helloworld_res_en.h
│   ├── helloworld_res_tw.h
│   └── Makefile
├── include
│   ├── mgplus
│   └── minigui
└── lib
├── libmgplus.a
└── libminigui_ths.a

编写Makefile:

# Makefile for minigui test
# author    hancq
# date      2016-09-30
PRO_NAME=helloworld
MINIGUI_DIR=/home/test/share/workspace/test/minigui

CFLAGS += -I.
CFLAGS += -I$(MINIGUI_DIR)/include
LDFLAGS += -lmgplus -lminigui_ths -lpthread -lm -ldl -lpng -ljpeg -L$(MINIGUI_DIR)/lib

.PHONY:all clean

all:$(PRO_NAME)

$(PRO_NAME):$(PRO_NAME).o
    gcc $(CFLAGS) $(PRO_NAME).o -o [email protected] $(LDFLAGS)

%.o:%.c
    gcc $(CFLAGS) -c $^ -o [email protected]

clean:
    -rm -rf $(PRO_NAME) *.o

将MiniGui的sample中src目录的helloworld相关的文件拷贝到helloword目录下

$ ls helloworld*
helloworld.c helloworld_res_cn.h helloworld_res_en.h helloworld_res_tw.h

运行make命令编译生成helloworld可执行文件,先执行在后台把qvfb进行运行起来,在执行./helloworld,此时在模拟器中可以正常运行起来了。

测试成功。

其它错误:

错误:./helloworld: error while loading shared libraries: libminigui_ths-3.0.so.12: cannot open shared object file: No such file or directory

解决:编译找不到库文件,需要在编译选项中增加库和库文件路径

错误:KERNEL>InitGUI (step 4): Can not start client (Please run mginit first)!

解决:运行的是客户端版的进程程序,需要先运行服务器mginit。

错误:KERNEL>InitGUI: Count not init mouse cursor!

KERNEL>InitGUI: Init failure, please check your MiniGUI configuration or resource.

解决:找不到资源,修改MiniGui配置文件中资源文件目录。

时间: 2024-08-02 19:22:34

MiniGui开发:ubuntu-14.04环境移植MiniGui的相关文章

Linux Ubuntu 14.04安装LAMP(Apache+MySQL+PHP)网站环境

从虚拟主机到VPS/服务器的过度,对于普通的非技术型的站长用户来说可能稍许有一些困难,麦子建议我们如果能够在虚拟主机环境中满足建站需要的, 还是用虚拟主机比较好.除非我们真的有需要或者希望从虚拟主机过度到VPS/服务器中来,毕竟后者的自由度比较大,有些项目需要特点的环境支持. 在这篇文章中,麦子将分享我们常用的LAMP环境部 署,我比较喜欢用编译脚本的方法,因为编译脚本可以比WEB面板和网站公开的一键包,当然,对于初级上手的用户来说WEB面板和经过大量用户证明的一键包 也是比较好的,比如LNMP

Ubuntu 14.04下java开发环境的搭建--3--Tomcat及MySQL的安装

前面两篇文章,已经说明了JDK和Eclipse 的安装方法,下面简单说一下,Tomcat及MySQL的安装方法. Tomcat的安装. 在合适的地方解压apache-tomcat-6.0.39.tar.gz cd /opt/DevelopTools sudo mkdir server cd server sudo cp /home/home/下载/apache-tomcat-6.0.39.tar.gz /opt/DevelopTools/server sudo tar -zxvf apache-

Ubuntu 14.04 设置Android开发环境

伸展树模版真的好长好长... cut a b c:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后把ch[ch[root][1][0]]拿掉,放在剩下的树的第c个节点下. flip a b:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后翻转ch[ch[root][1][0]]: 由于会出现操作两边的情况,所以加了两个-1节点. 注意: 1,输出的时候要注意空格和换行. 2,在拿掉子树的时候要注意push_up(); #include<stdio.h> #inc

Ubuntu 14.04.2 + Vmware搭建Linux驱动开发环境

所需软件 . Vmware安装文件 . Ubuntu 14.04.2 LTS Desktop系统镜像文件 安装好Vmware,然后在其中安装Ubuntu 14.04.2 LTS Desktop 配置驱动开发环境

基础知识 - 在 Ubuntu 14.04 中配置 Sublime Text 3 的 Golang 开发环境

1.下载 golang 并解压(这里以解压到 $HOME/golang/ 目录为例): http://www.golangtc.com/download 2.创建 GoPath 相关目录(这里以 $HOME/golang/projects/ 目录为例): mkdir ~/golang mkdir ~/golang/projects mkdir ~/golang/projects/3rdparty mkdir ~/golang/projects/3rdparty/bin mkdir ~/golan

Ubuntu 14.04.1 配置 Android 源码开发环境

# Ubuntu 14.04.1 1.更新源: sudo apt-get update 安装vim工具: sudo apt-get install vim 2.设置Android SDK Tools等环境 我的Android SDK解压在了/home/rengh/adt-bundle/目录下,So: 增加全局变量: sudo vim /etc/profile 添加以下内容: # Set Android SDK enviroment. ANDROID_HOME=/home/rengh/adt-bu

Ubuntu 14.04搭建Android5.1开发环境和编译

1.安装Ubuntu14.04 先下载Ubuntu系统,官网地址,从ubuntu10.04-ubuntu15.04都有下载,具体根据需求可以下载desktop和server版本 一般虚拟机建议安装desktop版本,方便管理,本人电脑是64位的,所以下载的ubuntu-14.04.2-server-amd64.iso 安装ubuntu系统,其实很简单,网上也很多视图教程,用U盘安装时需要注意,我之前用UltraISO来制作系统,结果系统装不上,后面用win32diskimager-v0.8-bi

Ubuntu 14.04下Gedit编辑器设置为多语言编辑及集成开发环境

Gedit是一个通用的编辑程序,其支持插件及自定义语言设置功能. 以Ubuntu 14.04下的Gedit编辑器为例,介绍其定制方法: 1 安装插件 sudo apt-get install gedit-plugins 2 在gedit中设置插件 略 3 设置语言配置文件 进入语言配置文件夹 cd /usr/share/gtksourceview-3.0/language-specs 查看语言配置文件(*.lang) ls 4 添加语言并根据配置文件设置对应源程序的扩展名 查看当前目录下相近语言

Ubuntu 14.04 LTS 源码安装Juno版Keystone开发环境

系统环境: Ubuntu 14.04 LTS Python 2.7 一.系统上已经安装如下工具: git     setuptools     pip     msgfmt     virtualenv 二.获取源码 $ git clone https://github.com/openstack/keystone $ cd keystone 三.安装一些pip不支持的依赖 $ sudo apt-get install python-dev libxml2-dev libxslt1-dev li