• 在全志V853开发板试编译QT测试


    记录一下自己交叉编译QT的过程,目前来说再体验了初次编译镜像之后,编译这个QT还是算比较快捷的,因为该有的库都安装完成了。

    首先就是我需要找到我们的交叉编译器安装位置,这个在下载了Tina之后还是很好找的。
    tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin
    如上路径。

    在这里插入图片描述

    我们用的一般就是这个,我们可以把其路径加到我们系统的环境中,这样在编译QT的时候就比较简单了。
    在这里插入图片描述
    一般我是直接加到/etc/profile下的,这样重启后就有了。

    在这里插入图片描述

    敲一下arm-openwrt-linux-gcc -v这样就能出现如上提示就OK了。
    接下来我们准备下编译QT前先编译tslib这个在底层使用触摸屏的时候比较方便。

    在这里插入图片描述

    这里我选择的1.15版本的,这个都可以,本身Tina再构建的时候好像就带了tslib。

    export STAGING_DIR=/home/v853/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi
    
    • 1

    这段要再配置前执行,这段是为了找交叉编译器的库文件,头文件的。

    ./configure --host=arm-openwrt-linux ac_cv_func_malloc_0_nonnull=yes--cache-file=arm-linux.cache -prefix=/home/v853/QT/tslib-1.15/arm-tslib
    
    • 1

    在这里插入图片描述
    进行配置生成makefile文件。

    在这里插入图片描述

    然后直接make,make结束之后就是make install,这样就会在我们配置的文件夹中生成我们的arm-tslib。

    在这里插入图片描述

    这里其实也只是为了QT交叉编译找一下头文件库这些。

    在这里插入图片描述

    然后我们选择一个QT5版本,这里我选择了QT5.12.6。然后新建一个装交叉编译完成的文件夹我命名为arm-qt。之后我们一般选择构建一个脚本。

    在这里插入图片描述

    这里我建了一个叫make.sh的。这样在这里面我们完成所以QT的配置工作,具体如下:

    #!/bin/sh
    PWD=`pwd`
        mkdir arm-qt
        ./configure \
        -prefix $PWD/arm-qt \
        -release \
        -opensource \
        -shared \
        -xplatform linux-arm-gnueabi-g++ \
        -optimized-qmake \
        -pch \
        -qt-sqlite \
        -qt-libjpeg \
        -qt-libpng \
        -qt-zlib \
        -no-opengl \
        -skip qt3d \
        -skip qtcanvas3d \
        -skip qtpurchasing \
        -skip qtlocation \
        -skip qttools \
        -no-sse2 \
        -no-openssl \
        -no-cups \
        -no-glib \
        -no-dbus \
        -no-xcb \
        -no-iconv \
        -no-separate-debug-info \
        -no-fontconfig \
        -tslib \
        -I /home/v853/QT/tslib-1.15/arm-tslib/include \
        -L /home/v853/QT/tslib-1.15/arm-tslib/lib \
        -recheck-all \
        -make examples
    
        make -j16 
        make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    结尾就是直接构建然后安装。
    -xplatform linux-arm-gnueabi-g++
    中间我们注意这个配置,这个配置是要对应上我们交叉编译器的。

    在这里插入图片描述
    在这里插入图片描述

    把上面文件里面内容全部替换成我们的交叉编译器的名字。然后执行脚本即可。

    在这里插入图片描述
    在这里插入图片描述
    确定一下我们的是否同意其license。输入yes即可,中间无报错直接就会构建完安装完。

    在这里插入图片描述

    这是我们配置的一些组件,可以自己选择性的安装。也就是修改脚本即可。

    在这里插入图片描述

    这里就是编译完成了,中间大概等了半小时,看个人虚拟机配置情况。

    在这里插入图片描述

    在路径下生成了很多文件,我们放到arm开发板上也就是lib,和plugins这里面还没有字体文件,可以自己添加。

    在这里插入图片描述

    来到底层,我们需要把文件放到底层,然后我居然发现我编译的系统没有tar指令,没办法我们只能对SD卡下手了,我给sd格式化成ext4格式了也就是支持linux系统的格式。

    sudo apt install gparted
    
    • 1

    我在Ubuntu下安装了gparted工具。直接格式化卡就行。
    这样我们可以直接挂载然后使用库。这个目的是因为有些。So文件无法解压的。

    export QT_PLUGIN_PATH=/mnt/qt5.12.6/plugins
    export QT_QPA_PLATFORM=linuxfb
    export LD_LIBRARY_PATH=/mnt/qt5.12.6/lib
    
    • 1
    • 2
    • 3

    然后初始化一下我们的库路径,这样就能运行QT了,效果如下:
    在这里插入图片描述在这里插入图片描述

    附件如下:
    qt5.12.6.tar

    原贴链接:https://bbs.aw-ol.com/topic/1836/
    全志在线开发者交流企鹅群(客服机器人24小时在线解答):498263967
    资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
    全志及开发者最新动态可以关注全志在线微信公众号

  • 相关阅读:
    Thread常用方法介绍
    win11 右键关闭显示更多选项 修改右键菜单
    IntelliJ IDEA 2023.2 最新变化
    专利转让的具体流程和步骤
    openai的api_key无效
    【小程序】解决浮点数精度损失问题
    【CMU15-445 Part-7】Tree Indexes i
    docker的使用
    VisualStudio Code 支持C++11插件配置
    【Confluence】使用start-confluence.sh命令重启后提示找不到网页HTTP404
  • 原文地址:https://blog.csdn.net/weixin_43094346/article/details/126099432