1、下载并安装qt-win-opensource-4.7.2-vs2008.exe,注意要是windows版的
2、安装MySql5.1,至少要是4以上的版本(3的话,编译驱动时还要修改源代码)。安装时要安装include和lib。
安装MySQL时要勾住“C Include Files 和 Lib Files”选项,这样才能装上MySQL的头文件和链接库。
安装MySQL时路径中不要有空格,不然编译驱动太费劲(上面的找不到"MySQL.h"错误)。
在C盘建立mysql文件夹放入mysql的include和lib
加入QT和2008的环境变量
将文件D:\mysqldev\lib\opt\libmysql.dll 复制到2008的bin里
mysql的libmysql.dll不在环境变量PATH中的目录下,造成驱动加载时,找不到这个dll文件。把它拷贝到程序运行目录(或者任何一个确认可以被程序找到的文件夹下)就ok了。
编译MySql驱动
将安装好的MySQL目录下的include文件夹里的文件(头文件)复制到编译工具的include文件夹下,再将MySQL目录下的lib\opt里的文件复制到编译工具的lib文件夹下,简而言之就是要让编译器能找到MySQL里相应的文件。(该路径也可在生成工程文件时添加给qmake)
1.cd D:\Qt\4.7.3\src\plugins\sqldrivers\mysql\
2.qmake -o "INCLUDEPATH+=c:\MySQL\include" "LIBS+=c:\MySQL\lib\opt\libmysql.lib" mysql.pro
3.nmake
此时%QTDIR%\plugins\sqldrivers 将生成 qsqlmysql4.dll qsqlmysqld4.dll
在过程中可能会出现rc.exe错误,环境变量加入C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
nmake前最好在".\Microsoft Visual Studio 9.0\Common7\Tools"中找到了vsvars32.bat设置环境变量的批处理,把该批处理拖入命令行窗口运行一遍(注意该批处理仅设置本次命令行窗口中的环境变量,并未修改注册表,所以每次打开个新命令行窗口都要运行一次批处理才可获得其中包含的环境变量设置!),
写一段测试代码,连接通过,哇哈
- #include <QtCore/QCoreApplication>
- #include <QSqlDatabase>
- #include <QDebug>
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName("localhost");
- db.setDatabaseName("mysql");
- db.setUserName("root");
- db.setPassword("1111");
- if (!db.open())
- qDebug() << "Failed to connect to root mysql admin";
- return a.exec();
- }