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开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! ...
随机推荐
- Jenkins 如何实现 拷贝文件到网络共享目录
在使用jenkins中,发现拷贝文件时,不能在脚本中直接添加脚本实现. 我实现的一种方法,希望能对您有用. net use y: \\server_name\workspace "passw ...
- jq中$(function(){})和js中window.onload区别
先看下执行代码: $(function(){ console.log("jq");}) $(function(){ console.log("jq1") ...
- vue中监视对象内部变化的三种方法
一,对整个对象监视 watch:{ obj:{ handler(newV,oldV){ console.log('obj changed') }, deep: true,//深度遍历 immediat ...
- 认识 Cargo-Rust构建工具和包管理器
认识 Cargo-Rust构建工具和包管理器 上两篇文章 都有说到 hello world 程序,但是我们如果使用自己创建文件的方式创建项目,一旦文件多了,那得多麻烦,整个项目将变得难以管理.下面我来 ...
- 合并EXCEL文件到一个文件的V宏
我建的宏: Sub 合并文件的VBA() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim ...
- ST 表练习笔记
P2048 [NOI2010]超级钢琴 首先按照 前缀和最大值 建立 \(ST\) 表 对于每一个 \(i\) 维护一个以他为起始点的最大的 "超级和弦" (\(ST\) 表 \( ...
- css进阶 00-准备
前言 css 进阶的主要内容如下. #1.css 非布局样式 html 元素的分类和特性 css 选择器 css 常见属性(非布局样式) #2.css 布局相关 css 布局属性和组合解析 常见布局方 ...
- ceph工作原理及安装
一.概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之 ...
- CentOS7部署GeoServer
CentOS7部署GeoServer 一.安装JDK81.下载jdk1.8 wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a ...
- ASP.NET Core 3.1 IOC容器以及默认DI以及替换Autofac生命周期
IOC 就是我们需要一个对象 以前我们是去 new 现在我们是直接向 IOC容器 要我们需要的那个对象. 使用一个IOC容器(autofac)通过依赖注入控制各个组件的耦合.也就是说你写好了组件,不需 ...