最近项目用到mysql数据库,程序是在Qt中开发的,在网上找了资料,随便写了两句,

myDB = new QSqlDatabase(QSqlDatabase::addDatabase("QMYSQL"));

myDB->setHostName("192.168.1.6");

myDB->setDatabaseName("KaoQingJi");

myDB->setPort(3306);

myDB->setUserName("root");

myDB->setPassword("123456");

myDB->open();

程序运行之后报如下错误

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC QODBC3

很明显Qt没有mysql的驱动,好自己动手编译吧;

1.首先安装QtSdk;

首先说明下Qt版本,我使用的版本是诺基亚发布的最后一个SDK版本,文件名为QtSdk-offline-win-x86-v1_2_1.exe,此版本安装完毕后包括Qt4.7.4和Qt4.8.1,大家在安装的时候注意下,由于要编译mysql的驱动,因此安装此sdk包时,不要选择默认的Default,要选择Custom进行安装,因为Default在安装的时候是不安装QtSource的,选择Custom后进行简单的配置,记得一定要选择QtSource,这个包里面就有支持Mysql的Qt驱动源码,一路点下去就会自动安装。

此版本的Qt下载地址如下:

http://pan.baidu.com/share/link?shareid=258560&uk=1042049493

2.安装mysql

我选择的mysql的版本为mysql-5.1.51选择Microsoft Windows 32. (Windows Installer format) 程序就可以,其他版本的mysql我没试过,应该也可以的,就是太大了。

下载地址:http://downloads.mysql.com/archives.php?p=mysql-5.1&v=5.1.51

安装的时候路径中尽量不要有空格,把所有的空格去掉;

安装完毕后我们需要的libmysql.dll文件就在你的安装路径下面的D:MySQLMySQL5.1libopt下面;这个是我的路径,你的路径可能不同,但这个文件肯定能找到的,

还需要另外一个工具,mingw-utils-0.4-1.zip,此工具用于将libmysql.dll转换成libmysql.lib文件,为什么需要转换呢?因为Qt用的编译器是MingW编译器,此编译器不能直接使用dll文件,

下载地址:

http://code.google.com/p/easymingwtoolkit/downloads/detail?name=mingw-utils-0.4-1.zip&can=2&q=

下载完毕后,打开此包,把bin文件下的reimp.exe文件解压到Qt安装路径下的mingw编译器下,具体路径为C:QtSDKmingwbin

然后再开始菜单中找到QtSDk->Desktop->Qt 4.8.1 for Desktop (MinGW);打开此终端

打开之后就跟cmd的黑屏一样的,这时切换目录到mysql目录中libmysql.dll所在文件夹,即D:MySQLMySQL5.1libopt目录下;

输入一下命令进行dll转换,

cd D:MySQLMySQL5.1libopt

reimp -d libmysql.lib (生成 libmysql.def文件)

dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)

上面两条命令执行完毕后,就得到我们需要的文件了libmysql.a

这是切换路径到C:QtSDKQtSources4.8.1srcpluginssqldriversmysql目录下面,此路径下面就是mysql的Qt源码;

cd C:QtSDKQtSources4.8.1srcpluginssqldriversmysql

qmake -o Makefile "INCLUDEPATH+=D:/MySQL/MySQL5.1/include" "LIBS+=D:/MySQL/MySQL5.1/lib/opt/libmysql.a" mysql.pro

上面这条命令在输入的时候,大家要注意路径是否跟自己的一致。

如果你的mysql在安装的时候有空格,可以将bin目录和include这两个目录拷贝到c盘的根目录,然后输入路径就可以了

把D:MySQLMySQL5.1libopt目录下的libmysql.dll文件拷贝到C:QtSDKDesktopQt4.8.1mingwbin,如果不拷贝,编译的时候会提示找不到llibmysql文件

上面命令执行完毕后,

然后

make

make release

不报错的话,就会在release目录和debug目录中分别生成libqsqmysqld4.a和libqsqmysql4.dll文件,

把这四个文件拷贝到C:QtSDKDesktopQt4.8.1mingwpluginssqldrivers目录下面。

到此,Qt下,mysql的驱动就编译好了。。。

qt下生成mysql驱动_Qt编译MySQL驱动相关推荐

  1. qt连接mysql创建表_Qt编译mysql以及创建表后进行导入操作

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

  2. qt mysql乱码_Qt连接mysql 并且 解决中文乱码问题

    课题需要做一个数据展示程序, 我就想到了Qt, 连接mysql的过程中是挺简单的, 但是还是有两个坑... 一号坑: Qt 和 mysql 位数要相同!!! 我的就是不相同, 卸了mysql重装的. ...

  3. qt 连接mysql数据库_QT连接MYSQL数据库教程

    QT连接MYSQL数据库教程 最近购买了阿里云Linux服务器,处于自学需要安装了MYSQL5.7. 准备用QT开发个小工具,在使用QT提供的标准类连接MYSQL库的时候一直爆出无法加载MYSQL驱动 ...

  4. 一天一篇mysql之一:认识mysql

    mySQL(关系型数据库管理系统) MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB ...

  5. [Qt教程] 第22篇 数据库(二)编译MySQL数据库驱动

    [Qt教程] 第22篇 数据库(二)编译MySQL数据库驱动 楼主  发表于 2013-5-13 21:28:02 | 查看: 1616| 回复: 12 编译MyQSL数据库驱动 版权声明 该文章原创 ...

  6. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)

    本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动到qt连接mysql数据库(一.编译连接前准备) [全教程]qt连接mysql--从qt编译mysql驱动到qt连接my ...

  7. ubuntu qt编译mysql报错_[Linux]QT编译Mysql驱动(Mariadb驱动),解决qmake报错问题

    编译环境 系统:Ubuntu18.04 QT版本:Qt 5.14.0 gcc版本:gcc version 7.5.0 qt官方编译驱动方式 在使用QT连接数据库时遇见的第一个错误就是QMYSQL dr ...

  8. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备)

    一.说明 电脑系统:win10 qt版本:5.13.2和5.14.1(测试均成功) mysql版本:MySQL-5.5 本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动 ...

  9. Qt MySql 驱动的编译

    首先 要找到这个玩意,进入这个dos窗口 提醒:数据库的文件必须用32位的,如果不知道是那个版本直接可以在mysql的bin下输入命令:mysql -V    这里的V一定要大写,就可以出来版本和对应 ...

最新文章

  1. Python-OpenCV基本操作
  2. jquery ui放大缩小_jQuery拖拽放大缩小插件idrag
  3. VB Listview导出到CSV文件函数
  4. 2018年数学建模竞赛-高温作业专用服装设计
  5. Python 获得汉字笔画
  6. matlab 线性规划 单纯形法
  7. C++开发斗地主(QT)第五篇之牌型权重
  8. 服务器u单核性能排行,CPU单核性能排行[2018年10月更新]
  9. 街篮中服务器维修什么时候能结束,街头篮球手游1月6日微信iOS维护公告 服务器扩容...
  10. 鸿蒙判后而成翻译,我在洪荒一百四十六石猴出世(1/3)胜神州。东胜神洲,海外有一国土,名曰傲来-金羚文学...
  11. 新站seo如何进行站内优化
  12. 【软件定义汽车】【中间件】iceoryx冰羚
  13. NOIP2018普及组初赛题解
  14. 生成全局唯一ID的3个思路,来自一个资深架构师的总结
  15. RAID磁盘阵列模式
  16. can总线用java怎么解析_CAN信号值解析
  17. 返利机器人php,快速入门
  18. 一个周六一台笔记本完成K8s的基础入门(写作中)
  19. MicroStrategy的面经(from bbs.byr..
  20. 【raspberrypi】retropie街机模拟器

热门文章

  1. 《每日一记 》网络篇-ARP协议与IP地址MAC地址
  2. 002java类入门
  3. 回归预测 | MATLAB实现ANN神经网络多输入单输出
  4. 从整车控制器VCU模型入门simulink(3)
  5. Cadence Allegro 如何隐藏和显示铜皮
  6. Cadence Allegro如何输出贴片坐标文件?
  7. Eviews 8.0&9.0界面新功能介绍
  8. 基于ssm的高校校友信息管理系统设计与实现-计算机毕业设计
  9. 带你去华强北拼装小米手机
  10. OpenHarmony--Hi3516DV300设备版本烧写