Qt教程3-Ubuntu(x86

2024-02-27 2206阅读

汇创慧玩

  • 写在前面
  • 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
    

    Qt教程3-Ubuntu(x86 第1张

    Kylin Linux 部署环境

    uname
    uname -a
    uname -i
    uname -r
    nkvers
    

    Qt教程3-Ubuntu(x86 第2张查看CPU核数,它会显示逻辑核心数:

    lscpu
    nproc
    

    2. ARM64交叉编译器环境搭建

    1) 选定编译工具: gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu

    2) 源码安装交叉编译工具:

    源码安装指定版本是为适配所部署的环境v8.3.0 ,笔者安装了指定版本,大家没有特殊需求可参考 3)指令安装交叉编译工具

    ①下载:

    注1: 从arm Developer 下载指定版本编译器;

    Qt教程3-Ubuntu(x86 第3张

    注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

    Qt教程3-Ubuntu(x86 第4张

    然后加载环境变量

    source /etc/profile
    

    or

    source ~/.bashrc
    

    查看配置是否成功:输入aarch64 +TAB是否出现提示(有对应版本即表示配置成功):

    Qt教程3-Ubuntu(x86 第5张

    查看安装路径:

    which aarch64-linux-gnu-gcc-8.3.0
    

    Qt教程3-Ubuntu(x86 第6张

    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
    

    能查到如下图所示,说明安装完成。

    Qt教程3-Ubuntu(x86 第7张

    查看安装路径:

    which aarch64-linux-gnu-gcc
    

    Qt教程3-Ubuntu(x86 第8张

    4) 编译源码测试:

    为了进一步验证交叉编译器环境搭建是否搭建成功,可进行编译源码进行验证测试。(可省略)

    笔者验证的是一个C++程序。main.cpp 内容如下:

    #include 
    using namespace std;
    int main()
    {
        cout 

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]