交叉编译aarch64的Qt5.12.2,附带Mysql插件编译

一、配置交叉编译工具链

1、交叉编译工具链目录

/opt/zlg/m3568-sdk-v1.0.0-ga/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu/bin/aarch64-rockchip-linux-gnu-g++
/opt/zlg/m3568-sdk-v1.0.0-ga/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu/bin/aarch64-rockchip-linux-gnu-gcc

2、编辑bashrc

vi ~/.bashrc,在末尾添加

export PATH=/opt/zlg/m3568-sdk-v1.0.0-ga/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu/bin:$PATH
export CROSS_COMPILE=aarch64-rockchip-linux-gnu-

使用source ~/.bashrc来使得修改生效。

二、配置mkspecs

进入目录

/home/zfadmin/Qt5.12.2_src_arm/qt-everywhere-src-5.12.2/qtbase/mkspecs

复制一份使用rockchip的平台

cp -r linux-aarch64-gnu-g++ linux-aarch64-rockchip-gnu

其中linux-aarch64-rockchip-gnu/qmake.conf的内容如下

#
# qmake configuration for building with aarch64-rockchip-linux-gnu-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = aarch64-rockchip-linux-gnu-gcc
QMAKE_CXX               = aarch64-rockchip-linux-gnu-g++
QMAKE_LINK              = aarch64-rockchip-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-rockchip-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = aarch64-rockchip-linux-gnu-ar cqs
QMAKE_OBJCOPY           = aarch64-rockchip-linux-gnu-objcopy
QMAKE_NM                = aarch64-rockchip-linux-gnu-nm -P
QMAKE_STRIP             = aarch64-rockchip-linux-gnu-strip
load(qt_config)

三、编译Qt

稍后再单独编译mysql插件

进入主目录,执行如下:

./configure -opensource -confirm-license -nomake tests -nomake examples -release -no-opengl \
-platform linux-g++ -xplatform linux-aarch64-rockchip-gnu \
-prefix /home/zfadmin/armqt-5.12.2_2
make -j8
make install

在armqt-5.12.2_2生成了Qt可执行文件和相关库文件

四、编译Qt的Mysql插件

1、修改mysql.pro

进入目录/home/zfadmin/Qt5.12.2_src_arm/qt-everywhere-src-5.12.2/qtbase/src/plugins/sqldrivers/mysql

编辑mysql.pro文件,其中openssl是在编译Mysql库的时候使用的:

TARGET = qsqlmysql
SOURCES += $$PWD/qsql_mysql.cpp
HEADERS += $$PWD/qsql_mysql_p.h

# 包含路径和库路径
INCLUDEPATH += /home/zfadmin/mySQLArmv8Install/include /home/zfadmin/openssl1.0.0_install/include
LIBS += -L/home/zfadmin/mySQLArmv8Install/lib -lmysqlclient
LIBS += -L/home/zfadmin/openssl1.0.0_install/lib -lssl -lcrypto

# 线程和其他系统库
LIBS += -lpthread -lm -lrt -ldl

# 插件特定配置
QT += sql
CONFIG += plugin
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

# qsqldriverbase.pri 是Qt内部使用的,用于设置基本的SQL驱动配置
include(../qsqldriverbase.pri)

2、qmake

使用刚编译出来的qmake

/home/zfadmin/armqt-5.12.2_2/bin/qmake

3、make及make install

make -j4

make install 

可在/home/zfadmin/armqt-5.12.2_2/plugins/sqldrivers 中看到libqsqlmysql.so

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
您好!对于在Qt交叉编译aarch64架构的应用程序,您可以按照以下步骤进行操作: 1. 安装交叉编译工具链:首先,您需要安装适用于aarch64架构的交叉编译工具链。这些工具链通常由芯片厂商或Linux发行版提供。您可以在官方网站或软件包管理器中获取并安装适用于您的目标平台的工具链。 2. 配置Qt Creator:启动Qt Creator,并打开要交叉编译的项目。然后,导航到“工具”菜单下的“选项”,选择“设备”选项卡。在这里,您可以添加并配置您的目标设备。 3. 配置项目设置:在Qt Creator中,打开项目设置对话框。选择“构建和运行”,然后选择“构建”选项卡。在这里,您可以配置构建步骤和构建套件。 4. 添加交叉编译套件:在项目设置对话框中的构建选项卡中,单击“添加”,然后选择“通用Linux设备”。在弹出的对话框中,选择“通用Linux设备”并点击“下一步”。然后,根据您的交叉编译工具链的路径和设置填写相应的信息。 5. 配置构建步骤:在项目设置对话框中的构建选项卡中,选择您刚刚添加的交叉编译套件,并点击“详细信息”。在构建步骤选项卡中,您可以配置构建命令、清理命令和部署命令。 6. 构建和部署应用程序:配置完毕后,您可以点击Qt Creator界面上的“构建”按钮来构建您的应用程序。构建成功后,您可以使用部署命令将应用程序部署到目标设备上。 这些是基本的步骤,具体的配置和设置可能会因您使用的工具链和Qt版本而有所不同。希望这些步骤对您有所帮助!如果您有任何进一步的问题,请随时问我。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LanSe___

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

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

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

打赏作者

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

抵扣说明:

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

余额充值