交叉编译Qt中的mysql驱动库,解决ARM程序因为缺少mysql驱动库导致无法打开mysql数据库的问题

交叉编译Qt中的mysql驱动库

今天将程序放到开发板中运行发现缺少了mysql驱动库,网上教程很多也很杂,这里写一写亲身的编译经历,希望可以帮助到大家。

一、 编译流程

1. 进入qt源码程序中mysql所在文件

$ cd $QTDIR/qtbase/src/plugins/sqldrivers/

2. 生成Makefile文件

$ qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=/opt/mysqlclient/libmysqlclient.so" -o Makefile mysql.pro
  1. pro文件存在问题
    在这里插入图片描述
    修改方式:
    注释 QMAKE_USE += mysql
    在这里插入图片描述
  2. qmake 为交叉编译过后的qt库中的文件
  3. 编译本机mysql驱动库需要下载mysqlclient开发文件,但是编译时会提示依赖库不匹配,此处libmysqlclient.so需要使用交叉编译过后的库,或者直接从arm开发板系统中拿出。arm开发板中下载依赖库命令如下:
$ sudo apt-get install libmysqlclient-dev

3. 编译文件

$ make

在这里插入图片描述
可以看到mysql驱动库在 $QTDIR/qtbase/plugins/sqldrivers/libqsqlmysql.so

4. 查看文件

$ file libqsqlmysql.so 

显示如下,编译成功了
在这里插入图片描述

二、测试

1. 将编译好的依赖库拷贝至开发板,并放置在插件库内

$ sudo cp libqsqlmysql.so /usr/local/qt5.12.9/plugins/sqldrivers/

2. 运行测试程序,可以看到驱动库加载成功了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值