QT编译安装MYSQL驱动

windows下编译

1、拷贝MySQL的lib下的libmysql.dll和libmysql.lib文件复制到C:\Qt\Qt5.14.0\5.14.0\mingw73_32\bin目录下或者复制到项目的编译的debug和release目录。
2、通过Qt 5.14.0 (MinGW 7.3.0 32-bit)进入CMD状态
3、进入Cd C:\Qt\Qt5.14.0\5.14.0\Src\qtbase\src\plugins\sqldrivers
4、qmake -- MYSQL_INCDIR="D:/Develop/MySQL/x86/include" MYSQL_LIBDIR="D:/Develop/MySQL/x86/lib"
5、执行mingw32-make命令进行编译
6、执行mingw32-make install命令进行安装

 

 

 

ubuntu下编译

参考:https://blog.csdn.net/pineappleli/article/details/107150466

遇到问题:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

很明显缺驱动呗,但是百度了很久缺没有解决问题,所以整理记录一下。方法简单来说就是把libqsqlmysql.so放到qt的安装目录的sqldrivers文件夹下,如Qt5.9.2/5.9.2/gcc_64/plugins/sqldrivers中,进入该目录发现果然没有libqsqlmysql,可能是qt为了推广自己的数据库sqlite吧。那么这个libqsqlmysql.so如何获取?最靠谱的方法还是源码编译。

1 安装qt时勾选源码

2 进入qt安装目录中的Qt5.9.2/5.9.2/Src/qtbase/src/plugins/sqldrivers/mysql路径,修改mysql.pro文件。

 
  1. INCLUDEPATH+=/usr/include/mysql

  2. LIBS+=-L/usr/lib/x86_64-linux-gnu -lmysqlclient

 

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#注释掉这一行
########QMAKE_USE += mysql

OTHER_FILES += mysql.json
######添加下面的内容
INCLUDEPATH+=/usr/include/mysql
LIBS+=-L/usr/lib/x86_64-linux-gnu -lmysqlclient




PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

3 注释文件Qt5.9.2/5.9.2/Src/qtbase/src/plugins/sqldrivers/qsqldriverbase.pri中的include那行。

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.

#注释掉下面这行
######include($$shadowed($$PWD)/qtsqldrivers-config.pri)

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

4 在mysql文件夹中执行qmake。如果提示缺目录则手动创建并赋权。

5 执行make。注意看最后给出的位置信息,如../plugins/sqldrivers,即Qt5.9.2/5.9.2/Src/qtbase/src/plugins/sqldrivers/plugins/sqldrivers

6 这个文件放到目录Qt5.9.2/5.9.2/gcc_64/plugins/sqldrivers后,就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值