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. JS 百度地图 换地图主题颜色(API自带)

    JS 百度地图 换地图主题颜色(API自带) <script type="text/javascript" src="http://api.map.baidu.co ...

  2. B树Java代码实现以及测试

    B树定义 B 树又叫平衡多路查找树.一棵m阶的B 树 (m叉树)的特性如下: 根节点至少有两个孩子 每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子. 每个非根节点至少有M/2-1(上取整)个 ...

  3. 【转】DELPHI开始支持LINUX DOCKER

    这是咏南翻译Marco Cantu的文章. 在过去的几年中,将服务器端解决方案(实际上是任何类型的应用程序)部署到轻量级DOCKER而不是物理机器或虚拟机已经变得越来越普遍,因为这允许更大的灵活性(在 ...

  4. 怎么读取properties文件和ini文件?

    一.读取properties文件: properties中的内容: server.ip = 127.0.0.1 server.port = 22 //原生java即可读取public static v ...

  5. C# 直播录制视频

    //项目引用 ffmpeg.exe 下载地址http://ffmpeg.org/ var time = DateTime.Now; ; //录制分钟 var fileName = Guid.NewGu ...

  6. Hosts 长期更新【已停】

    修改hosts篇 [2018.1.3] 由于google的对应的hosts更新过于频繁,再加上上次(18+1)大之后,国家政策原因,网上hosts更新基本上都停了,github的项目也陆续挂掉了. 还 ...

  7. 哲学家就餐问题 C语言实现

    场景: 原版的故事里有五个哲学家(不过我们写的程序可以有N个哲学家),这些哲学家们只做两件事--思考和吃饭,他们思考的时候不需要任何共享资源,但是吃饭的时候就必须使用餐具,而餐桌上的餐具是有限的,原版 ...

  8. OpenGL ES on iOS --- 统一变量(Uniform)和统一变量块(UBO)

    简介 Uniform是一种从CPU中的应用向GPU中的着色器发送数据的方式,但uniform和顶点属性有些不同. 首先,uniform是全局的(Global).全局意味着uniform变量必须在每个着 ...

  9. 搭建nginx文件服务器

    一.安装nginx服务 apt install nginx 二.修改nginx配置文件 cd /etc/nginx/conf.d/ vim download_server.conf server { ...

  10. 机器学习(十)—聚类算法(KNN、Kmeans、密度聚类、层次聚类)

    聚类算法 任务:将数据集中的样本划分成若干个通常不相交的子集,对特征空间的一种划分. 性能度量:类内相似度高,类间相似度低.两大类:1.有参考标签,外部指标:2.无参照,内部指标. 距离计算:非负性, ...