qt mysql 驱动编译的完整过程(使用qt creator)
一、安装前的准备
1、下载安装程序包,可到MySQL官方网站www.mysql.com下载,如图1-1:
图1-1
下载后的安装文件如图1-2所示:
图1-2
二、安装
1、双击下载的安装文件,本篇博文安装的MySQL版本为5.6.10.1,出现如图1-3所示页面:
图1-3
2、点击“Install MySQL Products”,进入如图1-4页面:
图1-4
3、勾选“I accept the license terms”后,点击“Next”,出现如图1-5所示查找最新产品的更新页面,不喜欢更新的话,可以选择下方的“Skip the check for updates(not recommended)”,点击“Next”继续:
图1-5
4、根据右侧安装类型描述文件选择适合自己的安装类型,如图1-6所示,注意修改安装路径,以防重装系统后,需要再次安装MySQL:
图1-6
5、根据您所选择的安装类型,会需要安装一些框架(framework),点击“Execute”安装所需框架,如图1-7:
图1-7
6、安装框架过程中的页面,如图1-8:
图1-8
7、框架安装成功后的提示,如图1-9:
8、所需框架均安装成功后,如图1-10,点击“Next”:
图1-10
9、开始安装,如图1-11,点击“Execute”,安装过程中的界面如图1-12:
图1-11
图1-12
10、配置信息的确定,如图1-13,点击“Next”:
图1-13
11、服务器配置型选择,Developer Machine——安装的MySQL服务器作为开发机器的一部分,在三种类型选择中,占用最少的内存;Server Machine——安装的MySQL服务器作为服务器机器的一部分,占用内存在三种类型中居中; Dedicated MySQL Server Machine——安装专用MySQL数据库服务器,占用机器全部有效的内存。可不做修改,默认端口3306等也可不做修改,点击“Next”:
图1-14
12、设置管理员密码,如图1-15,选择“Add User”,同时可以创建用户,从安全角度考虑最好不要创建用户:
图1-15
13、在如图1-16的界面中,可以设置系统服务器名称,是否在系统启动的同时自动自动MySQL数据库服务器,可用默认选项,点击“Next”:
图1-16
14、确认安装完成,勾选中“Start MySQL Workbench after Setup”,可对是否成功安装进行测试,点击“Finish”:
图1-17
三、安装成功
1、出现Workbench GUI页面,如图1-18,安装成功:
编译mysql项目步骤:
接下来就是用qt creator 打开mysql项目,项目的路径是在D:\Qt\4.8.4\src\plugins\sqldrivers\mysql(具体的路径是根据你自己的安装目录来进行选择的)。
进入mysql安装目录,将lib/libmysql.dll和lib/libmysql.lib拷贝到D:\Qt\4.8.4\src\plugins\sqldrivers\mysql下
编辑目录下的mysql.pro文件
QT +=sql
INCLUDEPATH +=D:\mysql\include
LIBS += -LD:\mysql\lib\ -llibmysql
注意这一定要填写好不然会报错(找不到- llibmysql)
其中mysql\include和lib是我从mysql安装目录下拷贝出来新建的文件夹,目录里面不能有空格,不然会报错,
这样我们就完成了编译前的工作准备。
-
这样在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下的debug 目录和release 目录下分别会产生
qsqlmysqld4.dll qsqlmysqld4.lib
qsqlmysql4.dll qsqlmysql4.lib
-
将上面提到的四个文件复制到
D:\Qt\4.8.4\plugins\sqldrivers
-
最后把
C:\mysql\lib\libmysql.dll
C:\mysql\lib\libmysql.lib
C:\Windows\system32\ 目录下。
4、若想在本机运行还需要将
复制到lib\libmysql.dll文件到D:\Qt\4.8.4\bin
这样驱动就安装成功了,接下来的工作就是验证驱动成功没有了,最好的办法就是来写一个测试mysql连接的程序,做了这么久的工作是有收获的时候了,废话不多说,直接上代码,这是做好的办法了,代码如下:
测试mysql可用性
加入已经存在mysql服务,那么编写以下代码测试:
(1).测试是否有驱动
-
QStringList driverList = QSqlDatabase::drivers(); qDebug() << driverList; //运行结果:("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC")?
如果存在QMYSQL和QMYSQL3就是正确的
(2).测试mysql是否可用
-
测试mysql可用性 加入已经存在mysql服务,那么编写以下代码测试: (1).测试是否有驱动 [cpp] view plaincopy QStringList driverList = QSqlDatabase::drivers(); qDebug() << driverList; //运行结果:("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC")? 如果存在QMYSQL和QMYSQL3就是正确的 (2).测试mysql是否可用 [cpp] view plaincopy QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("192.168.1.23"); db.setDatabaseName("testsql"); db.setUserName("root"); db.setPassword("root"); bool ok = db.open(); qDebug() << ok; //运行结果:true
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。