交叉编译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
- pro文件存在问题
修改方式:
注释 QMAKE_USE += mysql
- qmake 为交叉编译过后的qt库中的文件
- 编译本机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/