0. 根底环境
类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
零碎:河汉麒麟操作系统 V10 SP1(2203)
关键词:
信创, 麒麟零碎,linux,c++,c, 飞腾,qt,qt5,qt6,qtsdk 编译
1. 背景
QT 是 Linux 下或嵌入式环境下,支流的跨平台软件开发平台,丰盛和成熟的生态工具,许多开源软件都是基于 QT 所研发,零碎仓库或商店内置的版本大部分状况下都满足咱们的需要。然而局部软件对 QT SDK (qmake)均有版本要求,因而本文通过几天的实际,试错,为大家提供一个可供参考的过程。
2.QT5.15.8 SDK 编译装置过程
2.1 参考资料
2.1.1 官网参考资料
1.https://doc.qt.io/qt-5/linux-building.html
2.https://wiki.qt.io/Building_Qt_5_from_Git
3.https://doc.qt.io/qt-5/configure-options.html
2.1.2 其余参考资料
1.http://c.biancheng.net/view/3851.html
国内镜像网站
这里给大家举荐几个国内驰名的 Qt 镜像网站,次要是各个高校的:
中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
北京理工大学:http://mirror.bit.edu.cn/qtproject/
中国互联网络信息中心:https://mirrors.cnnic.cn/qt/
2.2 QTSDK 源代码下载
https://download.qt.io/archive/qt
https://download.qt.io/archive/qt/6.3/6.3.1/single/
文件夹阐明
2.3 环境筹备
留神:arm64 官网没有发行,只能下载本人编译。编译时请保证系统洁净(我在一台装过 QT5.12 的电脑上总会呈现一些谬误,在洁净的零碎上很顺利)。
2.3.1 移除本人手动装置的 QT5 以及相干的 creator(前面再装即可)
sudo apt-get remove qt5-default qt5-doc qt5-doc-html qtbase5-doc-html qtbase5-examples qt5-qmake qt5-qmake-bin -y #卸载现有 QT5,不然在 make 时容易呈现各种谬误,还找不到起因,放弃环境尽量洁净。如果这些操作还不行,为保障成功率就想方法弄一个洁净初装的零碎进行解决。sudo autoremove #卸载不必要的依赖
2.3.2 依据官网阐明装置相干依赖
依据官网应用 GIT 从源码构建,装置相干依赖
sudo apt-get install build-essential perl python3 git -y
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev -y
sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby ruby-dev -y
sudo apt-get install libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxss-dev libdbus-1-dev libevent-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libegl1-mesa-dev gperf bison -y
sudo apt-get install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev -y
sudo apt install clang libclang-dev -y
qtweb 还可能用到 nodejs, 通过 nvm-cli 装置 node, 参考:专栏第十五篇 https://segmentfault.com/a/1190000041978634
2.3.3 相干目录设置
将 sdk 源码解压到自定义文件夹,进行编译
sudo chmod -R 777 * #在 qt-everything-src 目录中把权限全副放开
mkdir ~/sdk/qt/qt-everywhere-build-5.15.8 #将构建的文件和源代码离开,文件夹名称不限本人晓得就行
我是这样的
2.3.4 编译装置
cd ~/sdk/qt/qt-everywhere-build-5.15.8
~/sdk/qt/qt-everywhere-src-5.15.8/configure -prefix /opt/Qt5.15.8 -platform linux-g++ #配置, 没有 prefix 默认装置在 /usr/local/Qt-%VERSION%; 默认应用 clang, 能够通过 platform 参数指定编译平台
make -j 8 #编译,8 代表同时用几个线程,倡议为了减速设置为 CPU 的线程数。也能够加到 16 个这样的,因为两头除了编译还有许多 make 动作。如果呈现权限谬误,则应用 sudo 提权。make install #装置, 如果报权限错,用 sudo make install 重试
2.3.5 零碎变量设置
配置零碎门路
vim ~.bashrc
增加
PATH=/opt/Qt5.15.8/bin:$PATH #这里应用配置的地址,默认在 configure 不配置时,则应用是 /usr/local/Qt-%VERSION%/bin
使其失效 source ~/.bashrc
执行 qmake -version
确认成果
2.3.6 QtCreator 中配置
关上 qt creator, 点工具 | 选项菜单
我的 qmake 地位如下(cmake 不必配置,已自动检测到),刚刚编译的能够手动增加指定
kits 配置好
2.4 SDK 安装包制作
2.4.1 deb 包形式制作
//todo
2.4.2 appimage 包形式制作
//todo
3.QT6 编译装置过程
//todo
写在最初
做为跨平台的代表,没有提供各个版本的 ARM 版本,着实有点不应该。将来国产 RISC- V 的时候,可能还须要经验这一些。
麒麟零碎专栏:
地址一:https://segmentfault.com/blog/kylinos
邮箱:1179611323@qq.com
群:662512340
github:https://github.com/xiaohelong
twitter:https://twitter.com/xiaohelong
发行日志:
20230404 首发