Qt:Windows下编译MySql驱动

Qt:Windows下编译MySql驱动

Mac OS X编译安装MySql是件非常轻松的活,在Windows里却花了很久。

系统: Windows
Qt: 直接使用Qt SDK安装的,所以得手动把bin目录设置到环境路径下
Mysql: 下载最新社区版
黄色背景部分为关键部分

总的步骤:
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文件夹

MySQL: 安装时不要用经典安装,选择完全安装或者自定义把头文件和库勾选上,这样安装后会有for c/c++的头文件和库目录,MySql我就安装在C盘根目录下了

Qt:Windows下编译MySql驱动_第1张图片

因为这里我们使用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文件)

Qt:Windows下编译MySql驱动_第2张图片

over了,出来这2个东西了。

好了需要的libmysql.a准备好了

下面开始编译之旅:

来到qt mysql驱动的源程序目录,有个cpp文件和一个qt项目文件。

Qt:Windows下编译MySql驱动_第3张图片

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目录里生成了下面的这四个文件

Qt:Windows下编译MySql驱动_第4张图片

Qt:Windows下编译MySql驱动_第5张图片


复制上面的这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

 



你可能感兴趣的:(Qt:Windows下编译MySql驱动)