Qt之编译MySQL数据库驱动(MSVC)

(2013-12-13 20:24:46)

    在Qt之操作数据库(SQLite)中已经介绍了关于Qt如何操作数据库的问题。由于授权的许可限制,Qt的开源版本无法提供所有的驱动程序,当配置Qt时,即可以选择Qt本身包含的SQL驱动程序。

    注:Qt5.2以前的版本,提供的数据库包括:ODBC、SQLite、PSQL,其它没有提供的需要自己进行编译。但从Qt5.2开始,已经包含MySQL,不需要手动编译。但是为了说明如何使用MySQL,这里将各个版本的用法都进行对比、说明。
 
Qt5.2版本
    安装Qt5.2版本的,可以在安装目录下,pluins\sqldrivers下进行查看,面包含有MySQL驱动。
 

 
 
Qt5.2之前的版本
    针对5.2之前的版本MySQL需要自行编译,这里就以5.2为例(其它版本同理)。
    关于数据库驱动的介绍以及如何编译可以参考Qt助手,里面有一节:SQL Database Drivers。
 

    下面讲述关于如何利用MSVC编译MySQL。
 
环境:VS2010 + Qt5.2
 
    其实版本问题没有什么太大影响,因为编译本来就大同小异。。。
 
一、下载Qt安装包与Qt插件
  • qt-windows-opensource-5.2.0-msvc2010_opengl-x86-offline.exe
  • qt-vs-addin-1.2.2-opensource.exe
    下载地址可参考:VS集成Qt环境搭建
    注意:安装opensource的时候记得选择源码,否则 编译的时候还得重新下载。
 
二、下载MySQL
(1)进入主页,选择:Downloads(GA)
    如下:
 
(2)转到页面最下面,MySQL Community Edition (GPL),选择:Download from MySQL Developer Zone >>
    如下:
 

(3)转到页面右上角,选择:New Releases对应的版本(这里我选择的是5.6)

    如下:
 
 
(4)转到页面最下面,Other Downloads,选择对应的版本(这里我选择的是32位)
    如下:
 
 
    下载完成之后,进行解压,拷贝到一个指定的路径(我选择的是:D:\mysql-5.6.15-win32)。
 
三、编译
(1)选择:开始->所有程序->Qt5.2.0->Qt5.2.0->MSVC 2010 OpenGL->Qt5.2.0 for Desktop(MSVC 2010 OpenGL)
    如下:
 
(2)进入Qt源码目录,我的为:D:\Software\Qt\Qt5.2.0\5.2.0\Src\qtbase\src\plugins\sqldrivers\mysql
(3)执行命令:qmake "INCLUDEPATH+=D:\mysql-5.6.15-win32\include" "LIBS+=D:\mysql-5.6.15-win32\lib\libmysql.lib" mysql.pro
    如下:
 
 
    执行完成之后,就会生成Makefile文件。
    如下:
 
 
(4)选择:开始->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)
    如下:
 
 
(5)执行命令:nmake
如下:
 

正常结束后,就会生成MySQL驱动库。

如下:
 

(6)准备环境
    将生成的qsqlmysql.dll、qsqlmysqld.dll拷贝到D:\Software\Qt\Qt5.2.0\5.2.0\msvc2010_opengl\plugins\sqldrivers目录中。
    将MySQL目录(D:\mysql-5.6.15-win32\lib)下的libmysql.dll、libmysqld.dll拷贝到D:\Software\Qt\Qt5.2.0\5.2.0\msvc2010_opengl\bin目录中。
 
    好了,到这里就大功告成了。

Qt之编译MySQL数据库驱动(MSVC)的更多相关文章

  1. 解析Qt4.7.3编译MySql数据库驱动,存中文乱码、过滤转义字符问题

    问题:使用QSqlDataBase类建立连接MySql数据库驱动加载失败 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available ...

  2. liunx系统二进制包安装编译mysql数据库

    liunx系统二进制包安装编译mysql数据库 # 解压二进制压缩包 [root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C ...

  3. 在web项目下注册MySQL数据库驱动失败

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoa ...

  4. Qt 5.2中编译加载MySQL数据库驱动问题的总结

    背景: 本科毕业设计涉及图形界面与数据库查询.选择使用Qt实现图形界面编程,使用MySQL构建数据库.之前安装了Qt 5.2,后来又安装了MySQL Server 5.6 (FULL完全安装).接着就 ...

  5. Qt 无法连接mysql数据库的问题

    错误信息: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL ...

  6. MySQL数据库驱动jar包

    地址:https://www.mysql.com/

  7. Qt编译mysql以及创建表后进行导入操作

    鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学.        首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱 ...

  8. 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. ...

  9. Java连接Oracle/MySQL数据库教程

    一.下载 oracle java驱动下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090 ...

随机推荐

  1. Python实现MATLAB中的 bwlabel函数

    最近做验证码识别,原本用MATLAB已经实现的整个识别模型,不过代码要部署在Linux服务器上还是需要用另外的语言实现,于是决定用Python + OpenCV来实现. bwlabel函数的作用是检测 ...

  2. java中的管程

    前言 ​ 并发编程这个技术领域已经发展了半个世纪了,相关的理论和技术纷繁复杂.那有没有一种核心技术可以很方便地解决我们的并发问题呢?这个问题如果让我选择,我一定会选择管程技术.Java 语言在 1.5 ...

  3. 《数据结构与算法之美》 <05>链表(下):如何轻松写出正确的链表代码?

    想要写好链表代码并不是容易的事儿,尤其是那些复杂的链表操作,比如链表反转.有序链表合并等,写的时候非常容易出错.从我上百场面试的经验来看,能把“链表反转”这几行代码写对的人不足 10%. 为什么链表代 ...

  4. 大数据之路week05--day01(I/O流阶段一 之File)

    众所周知,我们电脑中有许许多多的文件夹和文件,文件的形式也有许多不同的格式,文件夹中也可以新建文件夹的存在,也就是多层的一步一步的嵌套. 我们想要实现I/O操作,就必须知道硬盘上文件的表现形式. 而J ...

  5. 这些Winforms界面开发技巧你还没学会?OUT了

    DevExpress Winforms Controls内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpre ...

  6. 大二小学期C#资产管理大作业小记

    说明 这个程序是我大二夏季学期(俗称小学期)用Visual Studio + C#写的<资产管理>大作业.这个项目非常简单,就是用C#写出一个UI界面,并连接数据库进行增删改查.这是我第一 ...

  7. Codeforces Round #585 (Div. 2) C. Swap Letters

    链接: https://codeforces.com/contest/1215/problem/C 题意: Monocarp has got two strings s and t having eq ...

  8. VUE cli 4.x下配置多页面以及同时配置支持element-ui及mint-ui并且优化首页文件大小。

    场景,公司的一个小型项目,需同时支持移动端和PC端.最开始考虑做两个独立的项目.但后来考虑到总共只有4个功能页面,布署起来相对麻烦.所以决定做在一个项目里. 1.升级vue-cli到4.x npm i ...

  9. vii

    #!/bin/bash ] then vi exit fi ] then echo "参数太多了!" exit fi ] # 文件已存在,一律直接打开不作任何处理 then exi ...

  10. [Luogu] 可持久化线段树 1(主席树)

    https://www.luogu.org/problemnew/show/P3834 #include<cstdio> #include<iostream> #include ...