QT编译mysql驱动
一、 下载mysql C链接库
地址:http://dev.mysql.com/downloads/


根据当前系统选择下载:

二、 安装下载好的mysql驱动文件
注意,一定要安装在不含有中文、空格以及特出符号的文件、路径中,为了方面起见,我直接安装在了 E:\MySQL 目录下,建议这么做。

一定要选择第二项,否者我们没法指定安装目录,会默认安装到C盘下。不过后来证明安装到哪里都无所谓,但这里作为一个安装mysql的知识点吧,因为在安装mysql server时一样可以通过这种方式选择安装路径。




安装目录如下:

三、 库文件拷贝
我的QT 安装目录为 E:\QT4\4.8.4,版本号是4.8.4 所以打开如下目录:
E:\QT4\4.8.4\src\plugins\sqldrivers\mysql,内容如下:

进入mysql 驱动安装目录下的lib目录:

将libmysql.dll 和 libmysql.lib 文件即上图圈出的文件拷贝到
E:\QT4\4.8.4\src\plugins\sqldrivers\mysql 目录下:

四、 正式编译驱动
编辑目录下的mysql.pro文件,添加:
INCLUDEPATH+="E:\MySQL\include"
LIBS+=-LE:\MySQL\lib\ -llibmysql

图中圈中的目录为mysql驱动安装的目录,这个一定不能写错。
运行qt的控制台窗口,进行文件的编译。Qt控制台打开方法如下:

控制台如下:

切换到 E:\QT4\4.8.4\src\plugins\sqldrivers\mysql目录,
输入:cd E:\QT4\4.8.4\src\plugins\sqldrivers\mysql

执行qmake

执行mingw32-make debug ,生成debug版本的链接库:

成功生成:

执行mingw32-make release,生成release版本的链接库:

成功生成:

在E:\QT4\4.8.4\src\plugins\sqldrivers\mysql项目目录下会生成如下文件:

分别进入debug与release目录,会看到生成的
qsqlmysqld4.dll、qsqlmysqld4.lib 和 qsqlmysql4.dll、qsqlmysql4.lib 链接库文件。


将这4个文件拷贝到E:\QT4\4.8.4\plugins\sqldrivers 目录下:

将之前拷贝到项目目录下的libmysql.dll 和 libmysql.lib文件拷贝到C:\Windows\System32目录下。

这样mysql驱动边完全安装完成。以上编译过程也可以用qt creator 来完成,与编译普通的qt项目没有区别。
五、 测试连接mysql
下面做一个测试程序,新建控qt制台项目,main.cpp 文件内容如下:

源码:
#include <QCoreApplication>
#include <QDebug>
#include <QString>
#include <QStringList>
#include <QtSql/QtSql>
#include <QtSql/QSqlDatabase> int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv); qDebug() << "Available drivers:"; QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1");
db.setPort();
db.setDatabaseName("mysql");
db.setUserName("root");
db.setPassword("qaz"); if(db.open()){
qDebug() <<"success to link mysqld db!";
} return a.exec();
}
运行结果如下:

这样便证明mysql安装完毕,Enjoy!
参考:http://jingyan.baidu.com/article/27fa7326ffb99146f8271fe0.html
QT编译mysql驱动的更多相关文章
- QT编译Mysql驱动问题及解决方案
默认情况下,qt 并没有自带mysql的数据库插件,需要自己编译先安装mysql server ,运行setup.exe时选择自定义安装,安装目录设为"D:\mysqldev"不要 ...
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...
- 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. ...
- centos7下编译qt的mysql驱动
在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...
- windows下编译qt的mysql驱动
windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\M ...
- QT的MYSQL驱动库编译
QT的MYSQL驱动库编译 需要准备QT的源码Src,此次编译64位 在QTCreator中打开mysql.pro 修改两个pro 文件,下图为改好 1.mysql.pro TARGET = qsql ...
- centos 下Qt安装 mysql驱动(亲测可行)
(前半部分没有试过,因为我的有mysql驱动,实在抱歉) 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编 ...
- Qt编译mysql以及创建表后进行导入操作
鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱 ...
- Mac下Qt连接MySQL 驱动问题
Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...
随机推荐
- C#.NET开发ActiveX控件
最近刚开发了个activeX控件,下面是我的一些简单总结. 1. 先创建一个类库项目,在AssemblyInfo.cs设置 [assembly: ComVisible(true)] ,意思是使此程序集 ...
- Android4.4 蓝牙源码部分分析
最近GOOGLE发布了Android4.4,看了一下源码:4.4的蓝牙打开流程这一部分还是有些变化的,从界面上看蓝牙开关就是设置settings里那个switch开关,widget开关当然也可以,起点 ...
- CSS文字大小单位px、em、pt(转)
这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用p ...
- mysql备份工具 :mysqldump mydumper Xtrabackup 原理
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...
- c#线程问题(1)
delegate : public delegate void ParameterizedThreadStart(Object obj) public delegate void ThreadStar ...
- FindBugs缺陷库
1.possible null pointer dereference 解释:某字段可能为空 修复:对应字段使用前判空 2.normal confidence 解释:私有成员变量没有初始化 修复:初始 ...
- Inaccurate values for “Currently allocated space” and “Available free space” in the Shrink File dialog for TEMPDB only
转载自:http://blogs.msdn.com/b/ialonso/archive/2012/10/08/inaccurate-values-for-currently-allocated-spa ...
- Adobe Edge Animate –解决图形边缘精确检测问题-通过jquery加载svg图片
Adobe Edge Animate –解决图形边缘精确检测问题-通过jquery加载svg图片 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 在edge ...
- Wince 文本函数和字体应用
好像又进入了一个疲惫期了,晚上状态不好,但是还是想继续更新下博客,继上次分析了wince下设备环境以及怎么绘制相关图像后,,笔者在这片文章中讲到文本函数以及其相关应用.文本输出函数是输出文本的内容,也 ...
- Groovy选型
Groovy是一门基于JVM的动态语言,同时也是一门面向对象的语言,语法上和Java非常相似.它结合了Python.Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代 ...