逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::

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盘根目录下了

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

 



posted on 2011-10-29 00:58 逛奔的蜗牛 阅读(3945) 评论(0)  编辑 收藏 引用 所属分类: Qt

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理