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编译安装 – ...
随机推荐
- Codeforces Gym 100203E E - bits-Equalizer 贪心
E - bits-EqualizerTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest ...
- NDK环境配置
1.下载安装插件:com.android.ide.eclipse.ndk_23.0.2.1259578.jar copy到E:\eclipse\adt-bundle-windows-x86- ...
- Windows下codeblocks的安装与配置
最近自己正好要使用codeblocks编写C++程序,安装好却发现无法编译,如果您也遇到相似问题,可以参考本文. 如果您已安装codeblocks,想转换成中文界面,直接参考Step 2. 如果您C程 ...
- 思科(Cisco)路由器策略路由配置详解
策略路由是路由优化的常用方法.在做路由牵引时很多情况都要用到策略路由.我刚刚接触思科这东西,对策略路由的配置还不太熟悉,今天终于配好了,记录一下. 网络拓扑 R2的E1\E2口分别与R3的E1\E2口 ...
- Asp.Net 之 网页快照
此文做法不是 Control.DrawToBitmap ,而是直接QueryInterface 浏览器Com对象的 IViewObject 接口,用它实现的Draw方法,画到图像上. 首先,定义IVi ...
- Eclipse插件的安装方法
转自:http://blog.csdn.net/zhangyabinsky/article/details/7043435 Eclipse插件的安装有两种方法 :一个是在线安装,另一个就是手动安装. ...
- C#获取CPU等硬件ID(转载)
System.Management命名空间提供对大量管理信息和管理事件集合的访问,这些信息和事件是与根据 Windows 管理规范 (WMI) 结构对系统.设备和应用程序设置检测点有关的.应用程序和服 ...
- 用对象型泛型和ArraysList写一个输入学员信息并展示
题目:录入学员信息并保存,当录入学员的编号为0时结束,展示出学员信息 //student类 public class Student { public int id; public String na ...
- dede只调用当天发布的文档
dede只调用当天发布的文档 dede文章的调用 我需要织梦的模板分别调用,一天内发布的文章,三天内发布的文章,和七天内发布的文章,请问是代码是怎么写的,如何调用,如图所示. 点一天内,显示最近24的 ...
- [改善Java代码]避免对象的浅拷贝
建议43: 避免对象的浅拷贝 我们知道一个类实现了Cloneable接口就表示它具备了被拷贝的能力,如果再覆写clone()方法就会完全具备拷贝能力.拷贝是在内存中进行的,所以在性能方面比直接通过ne ...