经过近一天的折腾,终于搞定了MySQL驱动的编译,使用的是msvc的编译器,真是很麻烦,网上找了很多资料,都是针对mingw的(这个应该很简单,下周折腾吧,没精力了)。使用msvc来编译,对着教程都不能成功,各种各样的错误,不断的重装……今天写出来我遇到的问题及解决方法,希望遇到这些问题的朋友不用再心力交瘁了,呵呵……
我使用的是Qt 4.8.1和MSVC2010,首先下载:
1.Qt libraries 4.8.1 for Windows (VS 2010, 235 MB)
2.下载Mysql,并全部安装(我用的是5.5.22-win32),要保证安装目录里有include和lib文件夹
开始工作:
1.将include和lib文件夹拷出来放到没有空格的路径中,比如我的是在D盘根目录。
2.lib\libmysql.dll拷到system32文件夹里,为了防止报错
3.使用命令提示符进入qt源文件目录,比如我的:D:\Qt\4.8.1\src\plugins\sqldrivers\mysql
4.执行:qmake –o Makefile INCLUDEPATH+="D:\include" LIBS+="D:\lib\libMySQL.lib" MySQL.pro (INCLUDEPATH是你的MySQL的include文件路径,LIBS是你lib所在目录)
5.这是D:\Qt\4.8.1\src\plugins\sqldrivers\mysql目录里应该生成了响应文件,如下:
6.打开开始菜单中Qt源文件目录的Command Prompt
7.执行nmake命令
8.如果提示以下错误
打开D:\Qt\4.8.1\src\sql\drivers\mysql中的qsql_mysql.h文件,修改第52行,将
#include <mysql.h>修改为mysql.h所在的目录,比如我的在D盘,修改为#include <D:\include\mysql.h>,然后保存。
9.继续nmake,继续出错
将D:\lib\libmysql.lib复制到s2010的目录,如:D:\Program Files\Microsoft Visual Studio 10.0\VC\lib
10.继续执行nmake,成功了,再执行nmake release,又成功了。这时D:\Qt\4.8.1\src\plugins\sqldrivers\mysql\release和debug目录如下
出现我们需要的驱动啦!将下面四个文件拷到D:\Qt\4.8.1\plugins\sqldrivers里就可以了
虽然就这么几步简单的东西,耗费了我很长的时间,总有不可预料的错误产生,下次再来试下Mingw编译。