前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在全志V853开发板试编译QT测试

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

作者头像
阿志小管家
发布2024-02-02 16:35:30
1170
发布2024-02-02 16:35:30
举报

记录一下自己交叉编译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。

代码语言:javascript
复制
export STAGING_DIR=/home/v853/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi

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

代码语言:javascript
复制
./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

进行配置生成makefile文件。

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

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

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

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

代码语言:javascript
复制
#!/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

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

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

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

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

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

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

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

代码语言:javascript
复制
sudo apt install gparted

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

代码语言:javascript
复制
export QT_PLUGIN_PATH=/mnt/qt5.12.6/plugins
export QT_QPA_PLATFORM=linuxfb
export LD_LIBRARY_PATH=/mnt/qt5.12.6/lib

然后初始化一下我们的库路径,这样就能运行QT了,效果如下:

附件如下: qt5.12.6.tar

原贴链接:https://bbs.aw-ol.com/topic/1836/

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com