1. 生成mingw使用的mysql的libmysql.a文件
2. qmake生成mysql.pro文件
3. 把includepath和libs的内容加入到mysql.pro文件
4. make, make release 生成mysql的驱动文件
5. 复制生成的驱动文件到qt的数据库驱动文件夹
6. 复制mysql的lib/libmysql.dll到qt的bin文件夹
因为这里我们使用MinGW来编译驱动,mysql提供的这个libmysql.lib我们还不能直接用(如果用微软的编译器就不用这样了),我们需要用个工具转成*.a来用。
工具下载: http://www.qtcn.org/download/mingw-utils-0.3.tar.gz
解压我们只用remip.exe这个东西,把他放在你的mingw/bin和那些make.exe放一起就行。
cd C:/mysql/lib
reimp -d libmysql.lib (生成 libmysql.def文件)
dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)
over了,出来这2个东西了。
好了需要的libmysql.a准备好了
下面开始编译之旅:
来到qt mysql驱动的源程序目录,有个cpp文件和一个qt项目文件。
cd %QTDIR%/src/plugins/sqldrivers/mysql (当前目录转到源程序目录)
qmake -o Makefile "INCLUDEPATH+=C:/mysql/include" "LIBS+=C:/mysql/lib/libmysql.a" mysql.pro
(如果你的mysql安装在其他地方,如果路径上有空格之类的,直接复制include和lib目录到C盘根目录下的mysql目录好了,方便一会写路径。)
接下来的步骤很关键,开始的时候没有使用下面的方式,弄了很久都不行。
在刚刚生成的mysql.pro中加入以下:
INCLUDEPATH+="C:/mysql/include"
LIBS+="C:/mysql/lib/libmysql.lib"
HEADERS =../../../sql/drivers/mysql/qsql_mysql.h
SOURCES = main.cpp\
../../../sql/drivers/mysql/qsql_mysql.cpp
然后
make
make release
至此在debug和release目录里生成了下面的这四个文件
复制上面的这4个文件到qt的plugins/sqldrivers目录:例如我的:C:/QtSDK/Desktop/Qt/4.7.4/mingw/plugins/sqldrivers
同时也要把mysql/lib/libmysql.dll这个文件复制到qt的bin目录:例如我的:C:/QtSDK/Desktop/Qt/4.7.4/mingw/bin
From: http://xcf007.blog.51cto.com/471707/672917, http://hi.baidu.com/bodogbo/blog/item/e1ac85d156a88c1b3bf3cf76.html