qt安装mysql驱动,qt编译mysql驱动linux经典问题
Yyds干货库存
一、数据库驱动查询//查看自己安装的QT支持哪些数据库驱动。
#include widget.h
#include ui_widget.h
#包含QDebug
#包含QMessageBox
#包含QtSql/QSqlDatabase
#包含QSqlError
Widget:Widget(QWidget *parent)
:QWidget(父级)
,ui(新Ui:小部件)
{
ui- setupUi(这个);
//打印Qt支持的数据库驱动
qDebug()qsql database:drivers();
//添加MySql数据库
qsql database db=qsql database:add database( qmy SQL );
//连接到数据库
db . set hostname( 127 . 0 . 0 . 1 );
//数据库服务器ip
db . set username( root );
db . set password( 123456 );
db . set databasename( cable _ test _ system );
//数据库打开失败。
如果(!db.open())
{
QMessageBox:warning(this, error ,db.lastError()。text());
}
}
Widget:~Widget()
{
删除ui;
}如果你是QT4的版本,可能包含七个数据库驱动。
但是如果是QT5的版本,发现它只包含了五个数据库的驱动,却不包含MYSQL数据库的驱动。Qt 5中取消了对MySQL数据库的默认支持。这是因为随着商业版MySQL的推出,MySQL已经不能算是完全开源的数据库了,而Qt默认只支持完全开源的数据库,而后面的数据库都是完全开源的。
2.给QT5添加MYSQL驱动。1.打开MySQL安装目录下的lib目录,复制libmysql.lib和libmysql.lib文件。
(每个人的安装路径不一样。根据你自己的安装路径,这里是我的安装路径)
2.将刚刚复制的两个文件粘贴到Qt中MinGW编译器的bin文件夹中。
(每个人的安装路径不一样。根据你自己的安装路径,这里是我的安装路径)
3.在Qt安装目录下的sql驱动中找到Mysql文件夹。
4.在Qt中打开mysql.pro,修改以下3段代码,添加include和limysql.lib的路径
(每个人的安装路径不一样。根据自己的安装路径,以下是我的文件的路径)
TARGET=qsqlmysql
#添加MySQL的包含路径
include path= C:\ Program Files \ MySQL \ MySQL Server 5.7 \ include
#添加mysql的libmysql.lib路径,为驱动生成提供lib文件。
LIBS= C:\ Program Files \ MySQL \ MySQL Server 5.7 \ lib \ lib MySQL . lib
HEADERS=$$PWD/qsql_mysql_p.h
SOURCES=$ $ PWD/qsql _ MySQL . CPP $ $ PWD/main . CPP
#注释掉这句话
#QMAKE_USE=mysql
其他文件=mysql.json
PLUGIN _ CLASS _ NAME=qmysql driver PLUGIN
包括(./qsqldriverbase.pri)
#生成的dll驱动程序文件的目录地址
destdir=d:\ Qt \ Qt 5 . 12 . 12 \ 5 . 12 . 12 \ src \ Qt base \ src \ plugins \ sqldrivers \ MySQL \ lib 5。点击运行这个项目,它会在你的路径destdir=d: \ qt \ qt5.12 .在sqldrivers\mysql\lib中生成四个文件,如下图所示。这四个文件是qt需要的数据库驱动文件。
6.将这四个文件复制并粘贴到Qt安装目录下的sqldrivers文件夹中。
(每个人的安装路径不一样。根据自己的安装路径,以下是我的文件的路径)
7.重启Qt,再次检查自己安装的QT中支持哪些数据库驱动(如何检查回第一步),可以看到下面的MYSQL数据库支持。
三。安装过程中遇到的问题。问题1
出现这个问题是因为粗心,第4步中的QMAKE_USE=mysql没有被注释掉。
注释掉#QMAKE_USE=mysql
2.问题2
没有这样的qtsqldrivers-config.pri
我们已经包括了(。D:\ Qt \ Qt 5 . 12 . 12 \ 5 . 12 . 12 \ src \ Qt base \ src \ plugins \ SQL drivers文件夹中的/configure.pri文件。双击qsqldriverbase.pri打开文件,注释掉第四行并添加:include(。/configure)在下一行。
3.问题3。这是四个文件的生成,但是运行后又出现这个问题。
原因是我的MySQL版本是64位的,而我选择的Qt编译器版本是32位的,所以你在添加驱动之初就要确定你的MySQL版本和Qt编译器版本是对应的,那些需要复制粘贴的文件也要对应。所以如果出现这个错误,再按照相应的步骤复制粘贴。
,转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。