Linux下MiniGUI库的安装
Linux下MiniGUI库的安装
今天试了下安装MiniGUI的库
先仿照官网的教程安装
传送门:MiniGUI官网
一、配置依赖环境
安装构建工具
apt install binutils autoconf automake libtool make cmake pkg-config
#注意这里的apt我配置了alias,alias apt="sudo apt",以下用到apt均是,不再说明
安装依赖库
这里的安装,还有个libpng12-dev (libpng-dev on Ubuntu 18.04 instead),但是我用的是WSL(Windows Subsystem Linux)的Ubuntu 18.04,安装的时候说没有这个库
apt install libgtk2.0-dev libjpeg-dev libpng12-dev libpng-dev libfreetype6-dev libinput-dev libdrm-dev libsqlite3-dev libxml2-dev libssl1.0-dev electric-fence
二、安装MiniGUI
克隆源码
git clone git@github.com:VincentWei/build-minigui-4.0.git
但是在我电脑上没试成功,后面我在github找到了它的源码
传送门:项目目录
然后克隆下载
编译安装
这里因为是从github上面的,所以就不按照官网的教程来了。按照Github上面项目的README
./autogen.sh
./configure; make; sudo make install
#这里需要注意,我这里这个用户是没有根目录的权限的。所以使用sudo make install
三、配置
以上的安装环境是看官方的说明完成的,基本上没有什么问题吧。
下面的配置是我看了这篇文章写的
安装qvfb
apt install qt4-dev-tools
修改配置文件
cd minigui
cp etc/MiniGUI.cfg /etc/
...
[system]
# GAL engine and default options
# The equivalent environment variable: MG_GAL_ENGINE
# gal_engine=pc_xvfb
gal_engine=qvfb
# The equivalent environment variable: MG_DEFAULTMODE
defaultmode=800x600-16bpp
# IAL engine
# The equivalent environment variable: MG_IAL_ENGINE
# ial_engine=pc_xvfb
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
...
四、运行编译运行例程
先下载官方的示例代码
mg-samples-5.0.0.tar.gz
在这个页面的这个东西MiniGUI 5.0.3->MiniGUI Samples (V5.0.0)这里
然后解压
tar -zxf mg-samples-5.0.0.tar.gz
cd mg-samples-5.0.0
就可以了
configure 和 make
按照上面的文章说明,这样配置一下
./configure --prefix=/home/username/install PKG_CONFIG_PATH=/home/username/install/minigui/lib/pkgconfig CPPFLAGS=-l/usr/local/include/minigui
然后就报错了,如下
kevin@ubuntu:~/Application/mg-samples-5.0.0 $ ./configure --prefix=/home/kevin/install PKG_CONFIG_PATH=/home/kevin/install/minigui/lib/pkgconfig CPPFLAGS=-l/usr/local/include/minigui
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/kevin/Application/mg-samples-5.0.0':
configure: error: C compiler cannot create executables
See `config.log' for more details
kevin@ubuntu:~/Application/mg-samples-5.0.0 $
五、总结
那么今天的MiniGUI的学习就到此为止了,虽然最后没有跑起一个例程。但是还是挺有意思的,可以学习一下一个普通的GUI库的安装和编译,也是挺好的。
Linux下MiniGUI库的安装的更多相关文章
- 【Linux开发】Linux下jpeglib库的安装详解
Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...
- Linux 下 boost 库的安装,配置个人环境变量
部分引自: https://blog.csdn.net/this_capslock/article/details/47170313 1. 下载boost安装包并解压缩到http://www.boos ...
- boost.asio学习笔记一、linux下boost库的安装
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46761029 学习开源库第一步就是编译安装好库,然后执行成功一个 ...
- Mysql依赖库Boost的源码安装,linux下boost库的安装
boost‘准标准库’安装过程.安装的是boost_1_60_0. (1)首先去下载最新的boost代码包,网址www.boost.org. (2)进入到自己的目录,解压: bzip2 -d bo ...
- 谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH
谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.ph ...
- Linux下指定版本编译安装LAMP
说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...
- Linux下动态库生成和使用
Linux下动态库生成和使用 一.动态库的基本概念 1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序.动态链接库是目标文件的集合,目标文件在动态链接库中 ...
- Linux下Memcache服务器端的安装
最近在研究怎么让Discuz!去应用Memcache去做一些事情,记录下Memcache安装的过程. Linux下Memcache服务器端的安装服务器端主要是安装memcache服务器端,目前的最新版 ...
- 【最详细最完整】在Linux 下如何打包免安装的QT程序?
在Linux 下如何打包免安装的QT程序? 版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! ...
随机推荐
- windows+jenkins+iis 部署
1.安装jenkins 下载地址:https://www.jenkins.io/download/ 2.需要配置java环境 配置教程:https://www.cnblogs.com/liuxiaoj ...
- CSS基础-层叠与继承
继承 一些属性可以被继承,一些不可以. 一般来说,字体颜色.字体大小会被继承,关于形状的如 padding .border .margin.width等就不会被继承.哪些属性属于默认继承很大程度上是由 ...
- 关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言 在Java并发编程中,我们通常使用到synchronized .Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效.而在分布式集群环境,这个时候我们就需要使用到分布式锁. ...
- 【题解】NOI 系列题解总集
每次做一道 NOI 系列的估计都很激动吧,对于我这种萌新来说( P1731 [NOI1999]生日蛋糕 练习剪枝技巧,关于剪枝,欢迎看我的垃圾无意义笔记 这道题是有一定难度的,需要运用各种高科技剪枝( ...
- mybatis逆向工程运行
命令: mvn mybatis-generator:generate 项目结构: generatorConfig.xml内容示例 <?xml version="1.0" en ...
- Java中CAS原理分析(volatile和synchronized浅析)
CAS是什么? CAS英文解释是比较和交换,是cpu底层的源语,是解决共享变量原子性实现方案,它定义了三个变量,内存地址值对应V,期待值E和要修改的值U,如下图所示,这些变量都是在高速缓存中的,如果两 ...
- 三、TestNG的基本注解(1)
Before类别和After类别注解 举例说明 创建两个TestNGAnnotationTest.java和TestNGAnnotationTest2.java的类 TestNGAnnotationT ...
- k8s ingress - traefik
前面提到过 k8s 的 ingress 有 ingress-nginx,traefik,haproxy 等多种.今天来实践一下 tarefik. 闲言少叙,直接上代码. # cat traefik.y ...
- jQuery的事件机制和其他知识
jQuery 设置宽度和高度 宽度操作: $(selector).height(); //不带参数表示获取高度 $(selector).height(200); //带参数表示设置高度 宽度操作: ...
- redis源码学习之lua执行原理
聊聊redis执行lua原理 从一次面试场景说起 "看你简历上写的精通redis" "额,还可以啦" "那你说说redis执行lua脚本的原理&q ...