64位hi3531d编译QT5.15.10源码

hi3531d编译QT5.15.10源码


1.安装交叉编译工具链

1.工具链一般随开发板提供,我的交叉编译工具链是aarch64-himix200-linux.tar.gz
2.解压 交叉编译工具链

tar -xvf aarch64-himix200-linux.tar.gz -C /opt/hisi-linux/x86-arm

3.在~/.bashrc 最后一行添加环境变量

export PATH=$PATH:/opt/hisi-linux/x86-arm/aarch64-himix200-linux/bin

4.使环境变量生效

source ~/.bashrc

5.输入aarch64-himix200-linux-gcc -v

看交叉编译工具链是否可用

2.下载tslib源码和QT5.15.10源码

tslib是一个触摸屏的库
tslib地址
也可以使用git clone拉下来 git clone https://github.com/kergoth/tslib

QT5.15.10地址

3.编译tslib

./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=aarch64-himix200-linux \
--prefix=/opt/hisi-linux/x86-arm/aarch64-himix200-linux/qt/Qt_arm5.15.10/tslib \
CC=aarch64-himix200-linux-gcc \
--cache-file=arm-linux.cache

make
make install

注意:将 --host=aarch64-himix200-linux和 CC=aarch64-himix200-linux-gcc 改成自己的交叉编译工具。–prefix指定的安装路径也能改成自己的。

4.QT库交叉编译

1.修改qt库的qmake.conf配置文件,在qt源码解压后的qtbase/mkspesc文件夹下,我的是linux-aarch64-gnu-g++,如果是32位的arm开发板,一般是linux-arm-gnueabi-g++。
tar -xvf qt-everywhere-opensource-src-5.15.10.tar.xz
cd qt-everywhere-src-5.15.10/qtbase/mkspecs
cd linux-aarch64-gnu-g++     //可改成你自己对应平台
vi qmake.conf
:%s/aarch64-linux-gnu/aarch64-himix200-linux     //将其中的交叉编译工具改成自己的
:wq
2.配置qt库

在源码目录下新建一个config.sh的脚本文件
文件内容:

/configure -prefix /opt/hisi-linux/x86-arm/aarch64-himix200-linux/qt/Qt_arm5.15.10 \
    -release \
    -confirm-license \
    -opensource \
    -skip qt3d \    #取消QT3D功能,嵌入式设备一般来说性能不够
    -skip qtactiveqt \
    -skip qtcanvas3d \
    -skip qtcharts \
    -skip qtconnectivity \
    -skip qtdatavis3d \
   -skip qtdeclarative \
   -skip qtgamepad \
   -skip qtandroidextras \
   -skip qtdoc \
   -skip qtwebchannel \    #取消web功能,也是性能问题
   -skip qtwebengine \
   -skip qtwebglplugin \                                                                                                                                                                                                                    
   -skip qtwebview \                                                                                                                                                                                                                        
   -xplatform linux-aarch64-gnu-g++ \      #指定上一步的修改arm平台                                                                                                                                                                                                                                                                                                                                                                                                                                      
   -make libs \                                                                                                                                                                                                                             
   -optimize-size \                                                                                                                                                                                                                         
   -pch \                  
   -no-opengl \
   -no-sse2 \
   -no-openssl \
   -no-cups \
   -no-glib \
   -no-dbus \
   -no-xcb \
   -no-pkg-config \
   -no-separate-debug-info \
   -nomake tests \
   -nomake examples \
   -nomake tools \
   -no-sql-sqlite \
   -no-iconv \
   -pch \
   -shared \
   -qt-libjpeg \
   -qt-zlib \
   -qt-libpng \
   -tslib \
   -I /opt/hisi-linux/x86-arm/aarch64-himix200-linux/qt/Qt_arm5.15.10/tslib/include \
   -L /opt/hisi-linux/x86-arm/aarch64-himix200-linux/qt/Qt_arm5.15.10/tslib/lib \
   -recheck-all \
   -bundled-xcb-xinput  #只能在5.15版本开启
exit

运行bash config.sh配置QT
编译make -j16
安装make install

成功后在
/opt/hisi-linux/x86-arm/aarch64-himix200-linux/qt/Qt_arm5.15.10路径下能看编译好的qt库了
bin include lib mkspecs

5.测试运行

1.将上面编译好的qt加入到环境变量

1.vi ~/.bashrc在最后一行加上

export QT_DIR=/opt/hisi-linux/x86-arm/aarch64-himix200-linux/qt/Qt_arm5.15.10
export PATH=$QT_DIR/bin:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin:/opt/hisi-linux/x86-arm/aarch64-himix200-linux/bin:$PATH▫
export MANPATH=$QT_DIR/man:$MANPATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QT_DIR/lib
export QT_SELECT=qt-5.15.10

2.source ~/.bashrc使环境变量生效

3.写一个demo.cpp

#include <QCoreApplication>
#include <iostream>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
 
    std::cout << "hello from Qt! \n";
    return a.exec();
}

4.生成qt工程 qmake -project
5.生成Makefile qmake
6.编译 make生成demo可执行程序
将编译好的demo和Qt_arm5.15.10/lib上传到开发板,运行。正常情况下,输出如下:

./demo
hello from Qt!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q472599451

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值