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

时间: 06-20

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

Qt编译mysql驱动

Qt连接MySQL 分类: Qt 数据库 2013-02-27 20:57 1452人阅读 评论(0) 收藏 举报 一般情况下,qt只带了qsqlite4和qodbc两种驱动,如果在安装qt时,你没有添加qt -mysq参数,那么意味着,在你的程序中不能直接使用mysql数据库. 那么你就需要安装这个插件. 感谢jpzjpz提供的详细安装过程! 网址为:http://dev.wo.com.cn/bbs/viewthread.jsp?tid=140945&extra=page%3D1 我这里还是在

编译QT的MySql驱动问题及解决方案

做毕业设计要用到MySql,界面方面想用下QT,顺便学习一下QT的使用.上去就碰到问题,没有MySql的驱动(其实在.\Qt\4.6.0\plugins\sqldrivers目录下有,后来编译完了才发现,这里要崩溃一下~).GOOGLE了一下,翻了翻网页,就开始编译驱动了. 这里使用QT4.6.0版本和VS2008自带的编译器 使用的命令行参数是: qmake –o Makefile INCLUDEPATH+="D:\Program Files\MySQL\MySQL Server 5.1\in

windows下编译qt的mysql驱动

windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\MySQL\MySQL5.1\include" LIBS+="C:\MySQL\MySQL5.1\lib\opt\libmysql.lib" mysql.promingw32-make在C :\Qt\2010.05\qt\plugins\sqldrivers就有mysql驱动了my

Solaris 10下Qt编译Oracle 10g驱动

上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变量: ORACLE_BASE=/oracle ORACLE_HOME=$ORACLE_BASE/product/10.0.2 Qt的编译文件在Solaris 10下的路径: /export/home/qt-4.3.1/qt-X11-commercial-src-4.3.1 Qt的环境变量: QTDIR=/us

Ubuntu12.04下Qt连接MySQL数据库

本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件,可参考我的博客安装. 安装Qt:Ubuntu12.04下安装Qt4总结 --> http://www.cnblogs.com/gaohongchen01/p/4204860.html 安装MySQL:Ubuntu12.04下安装Apache+PHP+MySQL --> http://www.cnb

关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法

今天在ubuntu下安装了qtcreator,准备测试一下是否能用,果然一测试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm socket /tmp/qt_temp.u14973/stub-socket: No such file or directory 于是查了一下,知道qt不能用gnome-terminal执行,需要使用x-team,于是想到了解决方法: 找到:工具(Tools)->环境(environment)-

LINUX下如何编译MYSQL源代码

LINUX下如何编译MYSQL源代码 Linux下面编译MYSQL的源代码方式如下: 首先下载源代码:选择下面这个版本: 下载相应的CMake, gcc, bison等所依赖组件: a) 安装cursor library: b) 安装gcc 和 gcc-c++ c) 下载boost:  用g++ 或者根据不同的参数,指定参数,然后运行CMAKE: cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/loca

Delphi - Windows系统下,Delphi调用API函数和7z.dll动态库,自动把文件压缩成.tar.gz格式的文件

项目背景 应欧美客户需求,需要将文件压缩成.tar.gz格式的文件,并上传给客户端SFTP服务器. 你懂的,7-Zip软件的显著特点是文件越大压缩比越高,在Linux系统上相当于我们Windows系统上WinRAR或者好压软件一样的存在. 7-Zip软件下载与安装 网上下载相关安装包并完成安装,找到安装目录,复制7z.dll文件到D盘. .bat文件的制作 通过7-Zip软件使用手册了解到,通过动态命令行调用7z.dll可以把文件压缩成.tar.gz格式的,实际上是先将文件压缩成.tar格式的文

Qt 5.4.1下编译MySQL驱动,连接MySQL数据库

Qt安装在D:\Qt目录,Qt 5.4.1下连接MySQL数据库,发现会出现以下错误 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL QMYSQL3 QODBC 到D:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\sqldrivers目录下看看,发现是有mysql驱动的 Google了一下,据说是该驱动所满足的依赖性,不满足,需要重