麒麟V10SP1的国产化Qt适配
最近适配了麒麟V10SP1的Qt5.15.2,简化适配流程、总结步骤。
一、下载Qt5.15.2源码
wget https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz
tar -xf qt-everywhere-src-5.15.2.tar.xz
注:最好将源码下载或解压到一个特定的位置、方便后期查找维护
二、安装依赖
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison
sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt install libclang-6.0-dev llvm-6.0
sudo apt-get install clang-8
sudo apt-get install clang
每次执行完依赖安装命令以后需要检查是否安装成功、因为系统版本不同、导致各个源中的库文件名字可能不一样。
安装失败的时候需要去搜索是否有类似的安装包。一般命令就是 apt search +资源名(大概的就行)、根据查询结果
安装自己需要的。
三、安装ninja
(1)安装ninja依赖
sudo apt-get install re2c
(2)编译ninja
cd qt-everywhere-src-5.15.2/qtwebengine/src/3rdparty/ninja
./configure.py --bootstrap
(3)安装
sudo cp ./ninja /usr/bin
ninja --version
四、资源检查
进入到步骤一的源代码解压释放的目录下,执行编译检查命令
系统将罗列出编译Qt5.15.2所有的依赖资源是否存在,在这里我重点关注Qt的webengine相关的资源。yes代表相关资源存在、no表示缺失。并不是所有的no都是不可缺失的、却决于项目需要。
以资源:Proprietary Codecs … no为例,需要安装时的操作流程如下:
利用apt search 进行模糊搜索
根据查询出的结果进行apt-get install + 搜索结果名称
全部检查、安装必要库以后可以再次执行资源检查命令:
./configure -prefix /usr/local/Qt-5.15.2 -release -opensource -nomake examples -nomake tests -platform linux-clang -recheck-all
(注)该命令要在Qt源码路径下执行。
五、源码编译安装
进入到Qt源码路径下执行命令 make -j 8 整个编译过程大约需要半天左右。可以根据控制台输出的编译信息解决相关问题。
问题主要分以下几类:
1、编译生成的.o文件创建失败,这种情况一般是没有权限导致的。解决方法:将源码文件夹赋予777。chmod -R 777 +文件夹名称
2、编译过程中遇到资源依赖缺失、编译失败的。这种情况就是相应模块的链接资源不存在。可以根据错误提示寻找缺失资源库。apt search + 模糊名称 / apt-get install +搜索道得库。安装完成后再继续编译
3、遇到源码编译错误的。…/…/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h:1014:19: error: functional-style cast from ‘F’ (aka ‘V’) to ‘__fp16’ is not allowed
__fp16 fp16 = __fp16(f);
解决方法:
修改文件1014行
./src/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
__fp16 fp16;
全部完成编译以后可以进入安装:make install
安装完成以后查看一下版本信息:make -v
配置qmake:qtchooser -install qt5.15.2 /usr/local/Qt-5.15.2/bin/qmake
配置环境变量:echo “export QT_SELECT=qt5.15.2” >> ~/.bashrc
麒麟V10SP1的国产化Qt适配相关推荐
- 麒麟V10SP1高级服务器版本操作系统离线安装docker容器技术
麒麟V10SP1操作系统离线安装docker容器技术 在某些生产环境迁移过程中,往往需要离线安装软件.生产环境服务器是不能连接互联网的. 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V ...
- qt5.15.2-银河麒麟-龙芯国产化-项目打包踩坑实录
qt5.15.2-银河麒麟-龙芯国产化-项目打包踩坑实录 linuxdeployqt几乎是唯一解决方案,网上各种自己写脚本根据ldd去拷贝的,最后大概率都是segment default-除非你是纯Q ...
- 基于ARM64银河麒麟V10系统(PK体系)适配安装Ambari2.7.3+HDP3.1
引言 目前市场上主流的大数据平台以CDH和HDP两种为主,而两种大数据平台都是基于Apache原生态版本改进的,HDP版本的更贴近于原生态版本,开源率100%,基本上支持所有的开源大数据组件.CDH版 ...
- (转)银河麒麟V10sp1服务器系统安装redis不能使用的解决办法
我们在适配时,经常需要安装redis,但是在银河麒麟 V10sp1 服务器系统上安装使用 redis 的时候会有诸多问题,今天我们就来逐步分析解决一下. 1. 配好外网,使用麒麟源安装redis: 先 ...
- 国产化硬件适配能力再升级,百度天工AIoT智能边缘助力提升边缘AI算力可控能力
伴随AI+IoT技术的发展,其应用场景在不断细化,对AI芯片及硬件产品的个性化需求也在增加,这让众多边缘硬件厂商看到了新的机遇.一时间涌现众多边缘硬件厂商,进一步衍生出种类繁多的AI芯片及硬件产品线, ...
- HMI-7-[高分屏支持]:Qt 适配高分屏
基于Qt的汽车仪表模拟 照例,还是先上效果图,宣传哈哈哈哈哈 今天学到一个新东西,就是Qt对高分屏的支持,即高DPI的支持,有个Qt写的软件在老板的SB2上运行出现了显示异常,因为老板的电脑分辨率是3 ...
- 人大金仓国产化数据库适配
最近公司接到需求,项目要进行国产化适配,数据库是人大金仓中间件是TongWeb浏览器是uos,项目所用到的技术是LayuiAdmin.ssm.mybatis-plus.springboot等,数据源切 ...
- 银河麒麟V10操控系统Qt安装
下载安装镜像 申请试用https://www.kylinos.cn/support/trial.html, 根据CPU架构选择要下载的安装包. AMD.Intel的CPU下载银河麒麟桌面操作系统V10 ...
- 麒麟 mips mysql_中标麒麟OS+龙芯MIPS适配开源中间件
大纲 一 背景 二 目标 三 服务器 四 中间件适配 五 应用 六 部署 七 风险 八总结 九 最后rpm 制作 一 背景 19年国家开始筹备和实施安可工程.我司有幸参与其中. 二 目标 适配安装OS ...
最新文章
- 在CentOS 6.9 x86_64的nginx 1.12.2上开启echo-nginx-module模块实录
- 编程之美-构造数独方法整理
- 基于本地部署的hyperledger fabric升级chaincode
- Leaf:美团分布式ID生成服务开源
- .NET Core:面向未来的开源跨平台开发技术
- P6076-[JSOI2015]染色问题【组合数学,容斥】
- “3D几何与视觉技术”全球在线研讨会第三期
- IntellijIDEA配置Maven
- linux登录vnc的命令行,用VNC远程登陆linux (ZT)
- 《剑指offer》面试题46、47、49
- 升讯威周报与工时统计系统 V3
- 如何破解无法炸开的CAD加密图纸
- 色彩专题(PS的颜色理论)
- Java制作五子棋 V1.0
- 如何查询网站虚拟服务器的ip,正确姿势查看海外虚拟主机真实IP地址 cPanel面板IP信息...
- 【干货】教你用python给你的微信朋友群发私人订制的藏头诗
- slice splice split
- 给Bert加速吧!NLP中的知识蒸馏论文 Distilled BiLSTM解读
- 易地推拓客团队分享没有利润,就没有品质和服务
- ai在计算机教学中的应用,浅谈人工智能在教育中的应用
热门文章
- 微信小程序之页面样式以及背景图片显示问题
- clamav --reload 加载病毒库源码分析
- dlib 面部表情跟踪
- 原来国家的名字可以如此浪漫(the Romantic Name of a Country)
- IEduChina2019国际教育展在北京完美落幕
- 【解决方法】Pymongo insert 卡住
- 茂名天源石化等一批项目开工 广东5大炼化基地发展重点确定
- PLC远程监控与数据采集方案
- 直接反投影 matlab,直接反投影法.ppt
- C++中出现[Error] ‘rand‘ was not declared in this scop报错