Ubuntu16.04 64位 Qt5.9.1中使用mysql

本文提供了一种解决Qt应用程序中MySQL数据库驱动未能正确加载的问题的方法。通过安装依赖库、配置编译参数、手动编译MySQL插件并将其正确部署到Qt安装目录,可以有效解决该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:连接mysql数据库时,出现如下 提示:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
db open err: “Driver not loaded Driver not loaded”

解决方案:
1、sudo apt-get install libmysqlclient-dev
2、进入QT安装目录的源码目录(如果安装 时没有选择源码,重新安装下),找到MySql驱动源码目录
如:/home/csgec/Qt5.9.1/5.9.1/Src/qtbase/src/plugins/sqldrivers/mysql
3、执行qmake,生成Makefile
/home/csgec/Qt5.9.1/5.9.1/gcc_64/bin/qmake “INCLUDEPATH+=/usr/include/mysql” “LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient” mysql.pro
注:如果出错:
Project ERROR: Library ‘mysql’ is not defined.
则打开mysql.pro文件注释掉QMAKE_USE +=mysql这行
如果出错:
qtsqldrivers-config.pri没找到
则下载QT5.9.1的源码包,到相应目录拷贝过来就可以。(安装包中居然没有这个文件,但源码包中有)
cd /home/csgec/Tools/qt-everywhere-opensource-src-5.9.1/qtbase/src/plugins/sqldrivers
cp qtsqldrivers-config.pri /home/csgec/Qt5.9.1/5.9.1/Src/qtbase/src/plugins/sqldrivers
4、make
5、make install
生成的库所在的目录: ../plugins/sqldrivers/
6、把生成的libqsqlmysql.so拷贝到安装目录,如下:
cd ../plugins/sqldrivers/
cp libqsqlmysql.so /home/csgec/Qt5.9.1/5.9.1/gcc_64/plugins/sqldrivers

7、问题解决。
编译好的库:
http://download.youkuaiyun.com/download/ghty520/10243026

注:本来用的Qt5.9.4,但编译mysql相关的源码时一堆的 未定义,原因暂未清楚(交叉编译也一样),改成Qt5.9.1就可以了!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值