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

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动

Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动

QT连接MYSQL数据库教程

利用VS2008编译器编译Qt4.8.2的MySQL驱动

「Qt」 mac环境配置qt的mysql驱动

QTMysqlMySQL安装及QT连接MySQL驱动编译操作步骤