arm上的linux小,ARM-LINUX 系列 (六) ----minigui的安装 -- 终极成功版!!

2023-11-25 02:30

本文主要是介绍arm上的linux小,ARM-LINUX 系列 (六) ----minigui的安装 -- 终极成功版!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:ubuntu16.4  kylin 32位(一开始是64位的不过后来由于各种各样的问题,换成32位了),不过基本上我遇到的所有问题这篇博客都写了。所以按照本篇博客安装,有很大几率安装成功。在32位环境下安装时,按照本博客安装时,可能不会遇到那么多错误,跳过即可。反正本人安装成功了~~~在64位下安装,不保证能成功!!

一、文件的下载安装前准备 :sudo apt-get install build-essential 包含许多基本库

点此链接下载  下面的都要下载

3f288ee285423cc6e29fa526842ca321.png

3f288ee285423cc6e29fa526842ca321.png

3f288ee285423cc6e29fa526842ca321.png

二、建立一个文件夹,将上面的文件放在那

3f288ee285423cc6e29fa526842ca321.png

2.1首先安装依赖库:tar zxf zlib-1.2.2.tar.gz #编译zlib

cd zlib-1.2.2/./configure sudomakesudomake installcd ..

同样的步骤,安装 libjpeg

tar zxf  jpegsrc.v7.tar.gz同样的步骤 安装libpng tar zxf   libpng-1.2.37.tar.gz

此处configure为  ./configure  --enable-shared注意 如果此处出现报错configure: error: ZLib not installed那么回到安装zlib的界面 用下面这个指令安装CFLAGS="-O3 -fPIC" ./configure   //使用64位元的方法进行编译同样的步骤 安装freetypetar xzf freetype-2.3.9-fm20100818.tar.gz

安装qvfb2  ./configure时需要qt3的库,解决办法:sudo vim /etc/apt/sources.list  添加包含libqt3的库,deb http://cz.archive.ubuntu.com/ubuntu precise main

添加完后sudo apt-get update 更新库这时安装 sudo apt-get install libqt3-mt 库,提示依赖库没有被包含sudo apt-get -f install  包含依赖的库在sudo apt-get install libqt3-mtsudo apt-get install libqt3-mt-dev安装完毕如果报错checking for X... configure: error: Can't find X includes. Please check your installation and add the correct paths!

那么 sudo apt-get install libx11-dev xorg-dev./configure --with-qt-includes=/usr/lib/qt-3.3/include --with-qt-libraries=/usr/lib/qt-3.3/lib --with-qt-dir=/usr/lib/qt-3.3

依然出现缺少qt3的库sudo ln -s /usr/include/qt3 /usr/lib/qt3/include  建立动态链接重新configure  成功sudo make报错3f288ee285423cc6e29fa526842ca321.png百度修改3f288ee285423cc6e29fa526842ca321.png3f288ee285423cc6e29fa526842ca321.png修改为3f288ee285423cc6e29fa526842ca321.png编译通过sudo make install  安装完毕2.2安装minigui安装 minigui-res-be-3.0.12  方法同上1. tar zxf libminigui-3.0.12-linux.tar.gz./configuresudo makesudo make install2.3f288ee285423cc6e29fa526842ca321.png 

3f288ee285423cc6e29fa526842ca321.png3f288ee285423cc6e29fa526842ca321.png编译出错,提示

3f288ee285423cc6e29fa526842ca321.png

用vim修改

3f288ee285423cc6e29fa526842ca321.png

修改如下3f288ee285423cc6e29fa526842ca321.png修改后重新 sudo make3f288ee285423cc6e29fa526842ca321.png编译通过sudomake install在如下路径新建一个文件3f288ee285423cc6e29fa526842ca321.png3f288ee285423cc6e29fa526842ca321.png3.安装minigui组件tar zxf  libmgplus-1.2.4.tar.gz./configuresudo makesudo make install报错:make[4]: *** [lf_fashion.lo] Error 1

make[4]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4/src/api'

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4/src/api'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4'3f288ee285423cc6e29fa526842ca321.png解决方法:这主要是64位机上编译32位的问题,打开/libminigui-3.0.12-linux/include/common.h 做如下修改:将typedef unsignedintHICON 改为 typedef unsignedlongHICON  然后重新编译libminigui。 解决3f288ee285423cc6e29fa526842ca321.png继续向下编译  全部 ./configure  sudo make sudo make installtar xzf libmgi-2.0.4.tar.gzlibmg3d-1.0.2.tar.gzlibmgutils-1.0.4.tar.gzlibmgp-1.2.2.tar.gzlibmgncs-1.0.8.tar.gz   再次遇到    _va.va = va;3f288ee285423cc6e29fa526842ca321.png修改:3f288ee285423cc6e29fa526842ca321.png3f288ee285423cc6e29fa526842ca321.png需要mgplus,用vim注释掉这一句,编译成功4.编译mg-samples-3.0.12.tar.gz方法  ./configure  sudo make sudo make install

再次遇到缺少mgplus/mgplus.h  依然用vim注释掉出现错误:/usr/local/lib/libminigui_ths.so: undefined reference to `WndClientRect'/usr/local/lib/libminigui_ths.so: undefined reference to `WndRect'结局方法:在该路径:

3f288ee285423cc6e29fa526842ca321.png将WndClientRect与WndRect函数前面的inline删掉。重新编译3f288ee285423cc6e29fa526842ca321.png编译成功3f288ee285423cc6e29fa526842ca321.png此时会看到编译成功后的执行文件安装成功运行  ./helloworld  安装成功3f288ee285423cc6e29fa526842ca321.png

这篇关于arm上的linux小,ARM-LINUX 系列 (六) ----minigui的安装 -- 终极成功版!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/422977

相关文章

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

Linux之UDP和TCP报头管理方式

《Linux之UDP和TCP报头管理方式》文章系统讲解了传输层协议UDP与TCP的核心区别:UDP无连接、不可靠,适合实时传输(如视频),通过端口号标识应用;TCP有连接、可靠,通过确认应答、序号、窗... 目录一、关于端口号1.1 端口号的理解1.2 端口号范围的划分1.3 认识知名端口号1.4 一个进程

Linux权限管理与ACL访问控制详解

《Linux权限管理与ACL访问控制详解》Linux权限管理涵盖基本rwx权限(通过chmod设置)、特殊权限(SUID/SGID/StickyBit)及ACL精细授权,由umask决定默认权限,需合... 目录一、基本权限概述1. 基本权限与数字对应关系二、权限管理命令(chmod)1. 字符模式语法2.

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件