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

author author     2022-08-08     733

关键词:

开发项目在嵌入式平台上使用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配置文件中资源文件目录。

ubuntu-server14.04搭建lamp环境

...http://www.cnblogs.com/myzhibie/p/4330327.html 对于很多PHP初学开发者来讲,搭建一个可用于生产的LAMP环境是一件费时费力的事情,本文以 ubuntu-server14.04为例,给出一个搭建环境的教程,供大家参考; 1.更新软件源sudoapt-getupdate... 查看详情

如何在ubuntu14.04下配置安卓开发环境

1、下载64位安卓adt集成开发环境,(根据自己的系统版本选择)百度搜索android进入官网下载adt工具。2、解压到/usr/share/目录下      右键--提取到此--会得到解压后的adt-bundle-linux-x86_64-20140321文件夹      $cd 下载目录    ... 查看详情

如何在ubuntu14.04下配置安卓开发环境

  方法/步骤  下载64位安卓adt集成开发环境  百度搜索android进入官网下载adt工具  解压到/usr/share/目录下  右键--提取到此--会得到解压后的adt-bundle-linux-x86_64-20140321文件夹  $cd下载目录  $sudocp-Radt-bundle-linux-x86_64-... 查看详情

ubuntu14.04服务器环境下配置方法如下:(代码片段)

这篇文章主要介绍了Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法,较为详细的分析了Ubuntu14.04操作系统环境下配置PHP7.0+Apache2+Mysql5.7的具体步骤与相关命令使用技巧,需要的朋友可以参考下本文实例讲述了Ubuntu14.04服务器环境... 查看详情

Rails:Spring 权限错误 Ubuntu 14.04

...描述】:我正在尝试设置一个Ubuntu14.04机器作为rails4.2的开发环境。当我尝试运行railsc时,我收到以下错误:fileutils.rb:252:in`mkdir\':Permissiondenied@dir_s_mkdi 查看详情

手把手教你安装minigui编程环境(minigui版本3.2.0)(代码片段)

0.MINIGUIMiniGUI是一款面向嵌入式系统的高级窗口系统(WindowingSystem)和图形用户界面(GraphicalUserInterface,GUI)支持系统,由魏永明先生于1998年底开始开发。2002年,魏永明先生创建北京飞漫软件技术有限... 查看详情

Ubuntu 14.04 中的 OpenGL 4.3 开发设置

】Ubuntu14.04中的OpenGL4.3开发设置【英文标题】:OpenGL4.3developmentsetupinUbuntu14.04【发布时间】:2014-07-2919:38:37【问题描述】:我刚刚开始学习OpenGLSuperBible第6版,并且很难让任何示例在Ubuntu14.04上编译。我安装了开发包依赖项:sudoapt... 查看详情

<ros;ubuntu14.04下rosindigoeclipse开发环境搭建(代码片段)

目前最优解决方案配置已有Catkin包到Eclipse1GlobalsettingsinEclipseIDE2ROScompilescriptforEclipseIDE3ImportingtheprojectintoEclipse4AddingrunconfigurationstorunROSnodesinEclipseROSBUILD配置方式1安装Eclipse2创建工程文件21创建ROS工程包并转成Eclipse工程文件211创建... 查看详情

<ros;ubuntu14.04下rosindigoeclipse开发环境搭建(代码片段)

目前最优解决方案配置已有Catkin包到Eclipse1GlobalsettingsinEclipseIDE2ROScompilescriptforEclipseIDE3ImportingtheprojectintoEclipse4AddingrunconfigurationstorunROSnodesinEclipseROSBUILD配置方式1安装Eclipse2创建工程文件21创建ROS工程包并转成Eclipse工程文件211创建... 查看详情

ubuntu14.04搭建lamp环境

前言已经不记得搭建过多少次LAMP的环境了,不仅仅在windows上折腾过,也在linux上弄过,windows倒还好,麻烦事不多,搭建过一次基本上下次就知道应该怎么配置了,可是在linux每次搭建LAMP时我都总是忘记上一次是怎么搭建成功的... 查看详情

怎样在ubuntu14.04中安装java

...你不是一个程序员的话,这些足够你的需要。JDK代表Java开发工具包,如果你想做一些有关Java的开发(阅读程序),这正是你所需要的。OpenJDK是Java开发工具包的开源实现,OracleJDK是Java开发工具包的官方Oracle版本。尽管OpenJDK已经... 查看详情

ubuntu14.04-pxe装机实战笔记

...PXE(Pre-bootExecutionEnvironment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地... 查看详情

ubuntu14.04ssh允许root用户远程登录

ubuntu14.04ssh允许root用户远程登录2016-01-0314:451175人阅读评论(0)收藏举报分类:开发环境与工具(28) 修改root密码sudopasswdroot2. 以其他账户登录,通过sudonano修改/etc/ssh/sshd_config:xxx@ubuntu14:~$su-rootPassword 查看详情

sh用于在ubuntu14.04vm中部署planemo环境的脚本(代码片段)

查看详情

设置 QtCreator 以在 Ubuntu 14.04 上为 arm7 设备开发应用程序

】设置QtCreator以在Ubuntu14.04上为arm7设备开发应用程序【英文标题】:SettingUpQtCreatortodevelopappsforarm7devicesonUbuntu14.04【发布时间】:2014-10-1103:42:57【问题描述】:如何设置QtCreator为arm7编译“QtforEmbeddedLinux”应用程序。我对交叉编译... 查看详情

君正x1000/1500-开发环境搭建

 君正已对开发环境用到的U-BOOT、LINUX内核和文件系统进行打包成了SDK文件,直接从管网下载源代码即可进行开发。开发环境推荐使用Ubuntu14.04x64版本,直接从Ubuntu官网下载即可。推荐使用虚拟机VMware?Workstation12Pro。 进入SDK... 查看详情

在 64 位 Ubuntu 14.04 中使用 Nvidia *和* AMD GPU 进行 OpenCL 开发

】在64位Ubuntu14.04中使用Nvidia*和*AMDGPU进行OpenCL开发【英文标题】:UsingNvidia*and*AMDGPUsinaUbuntu14.04,64bitforOpenCLdevelopment【发布时间】:2015-03-2811:02:24【问题描述】:我正在尝试让AMD和NVidiaGPU在同一台Ubuntu14.04PC中运行,以便在两者上... 查看详情

ubuntu14.04安装theano详细教程(代码片段)

...最近需要学习深度学习,因此想要配置Theano,来开发深度学习算法。但是发现Theano安装总是出现问题。于是在这里中总结一下。环境操作系统:ubuntu14.04Python:2.7.6需要联网相关库简介BLAS 查看详情