第二步
(1)切换工作目录到:C:\Qt\qt-5.0.1-src\qtbase\src\plugins\sqldrivers\mysql。可以看到如下的几个文件存在:
其中,mysql.pro就是所要的文件。所以的编译工作都是从这个文件开始。
(2)使用qmake生成makefile自动编译。注意大小写不能错。其中,include和Lib就是上面说的Mysql安装目录下的两个文件夹。如下图所示:
(3)如果一切顺利,将在当前目录生成几个makefile文件和两个文件夹。如下图:
(4)接下来是重要的一部。如果我们直接在当前窗口输入make进行编译工作,那么很可能会出错,如:
更改数不胜数。这个时候,我们可以换另外一种方法,用VS2010的命令行环境来进行编译工作,在开始菜单中选择vs2010的一个命令行环境,切换到当前的工作目录下,执行nmake命令:
果然,出错了!错误显示缺少某个头文件。实际上,我们去mysql的安装目录include文件夹下查看,明显是可以找到这样一个头文件的。那么,怎么办呢?可以在命令行中用/I指示搜索路径。但是我们还是用最笨最简单的方法。直接将mysql安装目录下的include文件夹拷贝到Qt5.0的安装路径下。按照出错的提示,具体路径为:C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtSql。(这里注意,不是Qt5.0源码的路径哦,而是Qt5.0的安装路径。)如果一切顺利,我们就会得到几个lib文件和dll文件。文件位于:C:\Qt\qt-5.0.1-src\qtbase\plugins\sqldrivers。这个文件夹下的文件都是编译生成的新文件。我们将该目录下的qsqlmysql.dll和qsqlmysqld.dll拷贝到C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\plugins\sqldrivers目录下即可。配置工作至此完成。
第三步
连接。使用qt creator新建一个qt console项目,示例代码如下:
#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase con = QSqlDatabase::addDatabase("QMYSQL");
con.setHostName("localhost");
con.setDatabaseName("kxdl");
con.setPort(3306);
con.setUserName("root");
con.setPassword("root");
bool ret = con.open();
if(ret)
{
qDebug()<<"true"<<endl;
ret = false;
QSqlQuery qsql(con);
ret = qsql.exec("SELECT * FROM userInfo COUNT(*)");
if(ret = true)
{
qDebug()<<"true"<<endl;
}
else
{
qDebug()<<"false"<<endl;
}
}
return a.exec();
}
输出结果:
至此,编译工作自此成功结束。