Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)

一步步在Window下开发Qt

今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题.

1、首先下载,MySQL官网下载地址:http://www.mysql.com/downloads/installer/

2、安装时,会提示安装.netFramework4环境,这里提供一个下载链接:http://dldx.csdn.net/fd.PHP?i=537939463366842&s=17682a85274604196d6c02560d3e410c,资料很好,感谢博主的分享~

3、按照提示一步步安装,我一开始选择的是Develop模式,http://blog.csdn.net/xw_hit/article/details/6127992上面讲,要选择Custom,后来改了回Custom模式,这里不是说Develop模式不行,其中缘由没有理解,也没尝试,这里还是先选Custom模式

4、安装完成后要设置环境变量,

我的电脑-属性-高级-环境变量-系统变量-path里添加:C:\Program Files\MySQL\MySQL Server 5.5\bin

5、编译Qt下mysql驱动,还需要下载一个动态库格式转换工具,网址为: http://www.qtcn.org/download/mingw-utils-0.3.tar.gz,解压后把里边bin目录里的remip.exe拷到mingw的bin目录里就可以使用了

  1. cd C:\Program Files\MySQL\MySQL Server 5.5\lib  //这里有libmysql.dll 等文件,有的是在opt文件下,根据个人情况
  2. reimp -d libmysql.lib
  3. dlltool -k -d libmysql.def -l libmysql.a

这样编译后生成了libmysql.a文件,下面要进行编译qt下的mysql插件了

  1. cd %QTDIR%/src/plugins/sqldrivers/mysql
  2. qmake -o Makefile "INCLUDEPATH+=C:/INCLUDE" "LIBS+=C:/LIB/libmysql.a" mysql.pro  //这里路径不能有空格,为了解决这个问题,个人是把C:\Program Files\MySQL\MySQL Server 5.5\下的lib和include文件拷贝到C:根目录下,这样编译才没有问题
  3. mingw32-make  //生成libqsqlmysqld4.a 和 qsqlmysqld4.dll两个文件

把生成的libqsqlmysqld4.a 和 qsqlmysqld4.dll拷贝到QTDIR/plugins/sqldrivers/ 下。个人在这个地方捣腾了良久,最后看到一篇博文http://blog.csdn.net/xw_hit/article/details/6127992的最后一条,让我茅塞顿开、恍然大悟,O(∩_∩)O哈哈~,作者这样描述的(我只是修改了路径):

虽然生成成功,但是仍会提示QSqlDatabase: QMYSQL driver not loaded错误,这时我们需要将C:/MySQL/lib目录下的libmySQL.dll文件复制到我们Qt Creator安装目录下的qt/bin目录中。

http://blog.csdn.net/styyzxjq2009/article/details/8131917

上一篇:实验十一 团队作业7---团队项目设计完善&编码测试


下一篇:Codeforces Round #224 (Div. 2) A. Ksenia and Pan Scales