Qt教程3-Ubuntu(x86
汇创慧玩
- 写在前面
- 1. 查看系统架构相关指令
- 2. ARM64交叉编译器环境搭建
- 3. Qt编译arm64环境搭建
- 4. 配置 Qt的本地aarch64交叉编译器
- 5. 工建立及编译验证
写在前面
苦辣酸甜时光八载,春夏秋冬志此一生
Qt简介:
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。
Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。
Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。
在探索前期安装过程也是出现了星星点点的未知错误,摸黑探路,绕了许多弯路。
最近由于项目需要做国产系统适配,软件需要适配不同架构CPU!基于此特将经验寄予此文,望更多志同道合的朋友在这条探索的路上少走弯路,尽入主题!
环境:
PC系统:Ubutu20.04(x86_64架构)
Qt版本:Qt5.12.8(GCC 9.3.0,64bit)
Qt Creator 版本:4.11.0
交叉编译器:gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
国产系统:Kylin Linux Advanced Server release V10(4.19.90-25.10.v2101.ky10.aarch64) 部署环境
GCC:v8.3.0 部署环境
1. 查看系统架构相关指令
Ubutu 本机
uname uname -a uname -i uname -r lsb_release -a lsb_release -i lsb_release -r
Kylin Linux 部署环境
uname uname -a uname -i uname -r nkvers
lscpu nproc
2. ARM64交叉编译器环境搭建
1) 选定编译工具: gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
2) 源码安装交叉编译工具:
源码安装指定版本是为适配所部署的环境v8.3.0 ,笔者安装了指定版本,大家没有特殊需求可参考 3)指令安装交叉编译工具
①下载:
注1: 从arm Developer 下载指定版本编译器;
注2: 这里还可以通过百度网盘下载v8.3.0
② 安装:
解压:
tar -xvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
重命名:
mv gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu aarch64-linux-gnu-8.3.0
将目标复制到指定目录下:
sudo cp -rf aarch64-linux-gnu-8.3.0/ /opt
or
mkdir -p ~/path/go cp -rf aarch64-linux-gnu-8.3.0/ ~/path/go
然后在环境变量里 /etc/profile 或 ~/.bashrc 添加全局变量
$PATH:后面路径为gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin的解压路径
sudo vim /etc/profile
#borrieguo add arm aarch64
export PATH=$PATH:~/path/go/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin
然后加载环境变量
source /etc/profile
or
source ~/.bashrc
查看配置是否成功:输入aarch64 +TAB是否出现提示(有对应版本即表示配置成功):
查看安装路径:
which aarch64-linux-gnu-gcc-8.3.0
3) 指令安装交叉编译工具: 源码安装交叉编译工具和指令安装交叉编译工具选其中一个操作即可
指令安装自动适配本机合适版本,无需指定较为方便
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
安装后验证下是否ok,直接输aarch64- 加Tab键如果能自动补全aarch64-linux-gnu-gcc那就问题不大。
查看版本信息:
aarch64-linux-gnu-gcc -v
能查到如下图所示,说明安装完成。
查看安装路径:
which aarch64-linux-gnu-gcc
4) 编译源码测试:
为了进一步验证交叉编译器环境搭建是否搭建成功,可进行编译源码进行验证测试。(可省略)
笔者验证的是一个C++程序。main.cpp 内容如下:
#include using namespace std; int main() { cout