一步步在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驱动(居然用到了动态库格式转换工具)的更多相关文章

  1. QT编译Mysql驱动问题及解决方案

    默认情况下,qt 并没有自带mysql的数据库插件,需要自己编译先安装mysql server ,运行setup.exe时选择自定义安装,安装目录设为"D:\mysqldev"不要 ...

  2. QT编译mysql驱动

    一. 下载mysql C链接库 地址:http://dev.mysql.com/downloads/ 根据当前系统选择下载: 二. 安装下载好的mysql驱动文件 注意,一定要安装在不含有中文.空格以 ...

  3. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  4. centos 下Qt安装 mysql驱动(亲测可行)

    (前半部分没有试过,因为我的有mysql驱动,实在抱歉) 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编 ...

  5. QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)

    2010/04/23:Fixes : 更新批处理,以兼容WIN7. 第一次系统地玩QT,于是诞生了此预备式: [QT版本4.6.0(VS2008编译版),开发平台推荐使用Qt Creator(最新1. ...

  6. centos7下编译qt的mysql驱动

    在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...

  7. windows下编译qt的mysql驱动

    windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\M ...

  8. QT的MYSQL驱动库编译

    QT的MYSQL驱动库编译 需要准备QT的源码Src,此次编译64位 在QTCreator中打开mysql.pro 修改两个pro 文件,下图为改好 1.mysql.pro TARGET = qsql ...

  9. Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...

随机推荐

  1. 持续集成 之 apache-continuum

    作者:许振坪,http://blog.csdn.net/benkaoya 1.前言 最近在研究持续集成,摸索了很多持续集成的工具,Apache Continuum也包括其中.既然飞过,那就留下点什么吧 ...

  2. 如何正确理解正则表达式中的分隔符 \b

    前言:好久不见,博客园. 最近在学习研究regex,其中有个特迷惑自己的知识点是分隔符 ( word boundary) [\b] (注:为了方便,后文都以[]来包含字符,并不是reg规则里面的[] ...

  3. 鼠标经过图片时变换的两种方法--css+div及javascript应用

    javascript方式:    熟悉使用document.getElementById()取得节点对象 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  4. asp.net core + angular2

    asp.net core + angular2 的环境配置 国内整个对 asp.net core  和 angular2这些新出来的关注度不是太好.跟国外比很大差距. 我在试着去做这个整合的时候也碰到 ...

  5. erlang supervisor说明

    Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块 子进程可以是另一个supervisor,也可以是一个worker进程. worker进程一般使 ...

  6. IOSJSBRIGE商品内容模板

    <p> 内容 </p> <script> window.onerror = function(err) { log('window.onerror: ' + err ...

  7. 每天学点Linux:七

    Shell编程 shell变量类型: 只有字符串型,变量可以被赋值,被修改,被引用. shell变量命名方法:第一个字符为字母,其余字符可以是字母,数字或下划线. 变量引用:在变量名前加$号,代表变量 ...

  8. 【FZU】2152 文件系统

     Problem 2152 文件系统 Accept: 63    Submit: 126 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Probl ...

  9. [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(四)

    通过前面的操作,我们已经可以创建一个带有我们自己的PCI的watchdog外设qemu 虚拟机了. 目的: 1. 了解我们的外设情况. 2. 为在guest中开发我们自己的linux PCI驱动程序做 ...

  10. 从ACM中删除一个已经创建的Library

    从ACM中删除一个已经创建的Library,无法通过界面操作,须要手工从DB中删除.须要删除的表记录有: RECENTUPDATE 找到字段Name等于该libraryName的那条记录删除掉 del ...