Qt4.8.5编译mysql5.7.30驱动
来源:互联网 发布:openwrt 卸载软件命令 编辑:程序博客网 时间:2024/06/05 03:24
Qt由于授权许可的限制,Qt的开源版本没有提供所有数据库的驱动程序。免费下载的中只含有QSQLITE也就是SQLite的驱动程序,要想与mysql或oracle等连接需要自己编译其驱动。
2.Qt版本4.8.5.
qt\4.8.5\src\plugins\sqldrivers\mysql下。可以自己新建一个目录如mysqllib。
2.修改mysql.pro文件(位置:qt\4.8.5\src\plugins\sqldrivers\mysql),在第二行添加如下内容
INCLUDEPATH += "./mysqllib/include"
LIBS+= "./mysqllib/lib/libmysql.lib"
3. 通过Qt 4.8.5 commad Prompt编译
【曲折路线:1. cd命令一直更改不到c盘,一看原来安装了两次qt,一个在c盘,一个在D盘;2.nmake命令中出现问题,基本就是各种网络重定义,查找原因说应该是头文件 包含顺序问题,手动更改了 qt\4.8.5\src\sql\drivers\psql\qsq_psql.h,将包含windows.h的文件放在最后包含】
依次输入命令:
cd c:\Qt\4.8.5\src\plugins\sqldrivers\mysql
qmake mysql.pro
nmake debug
nmake release
文件编译成功后在c:\Qt\4.8.5\src\plugins\sqldrivers\mysql下的debug和release目录中会生成dll和lib文件。
c:\Qt\4.8.5\mingw\plugins\sqldrivers 目录下
2.将mysql的库文件libmysql.dll拷贝到库文件libmysql.dll拷贝到D:\Qt\4.8.5\bin目录下。
3.将 mysql下 bin 文件中libmysql.dll文件 拷贝到 system32 下面.【第一次忘记这个,driver一直不能加载】
第四步、验证
执行程序输出为:
Available drivers:
"QSQLITE"
"QMYSQL3"
"QMYSQL"
"QODBC"
"QPSQL7"
"QPSQL"
End
其中有"QMYSQL"则表示编译mysql的驱动成功了!!
网上一找一堆的方法,最后成功的结果都是一样一样的,但是各种曲折的过程是不一样不一样的。
一、提前安装MySQL和Qt
1.MySQL版本5.7,安装mysql 安装时选择FUll型,这样会有库文件(include和lib文件夹)2.Qt版本4.8.5.
二、编译MySQL驱动
1.将mysql安装目录下的include和lib两个文件夹拷贝到qt\4.8.5\src\plugins\sqldrivers\mysql下。可以自己新建一个目录如mysqllib。
2.修改mysql.pro文件(位置:qt\4.8.5\src\plugins\sqldrivers\mysql),在第二行添加如下内容
INCLUDEPATH += "./mysqllib/include"
LIBS+= "./mysqllib/lib/libmysql.lib"
3. 通过Qt 4.8.5 commad Prompt编译
【曲折路线:1. cd命令一直更改不到c盘,一看原来安装了两次qt,一个在c盘,一个在D盘;2.nmake命令中出现问题,基本就是各种网络重定义,查找原因说应该是头文件 包含顺序问题,手动更改了 qt\4.8.5\src\sql\drivers\psql\qsq_psql.h,将包含windows.h的文件放在最后包含】
依次输入命令:
cd c:\Qt\4.8.5\src\plugins\sqldrivers\mysql
qmake mysql.pro
nmake debug
nmake release
文件编译成功后在c:\Qt\4.8.5\src\plugins\sqldrivers\mysql下的debug和release目录中会生成dll和lib文件。
三、文件搬移
1. 将 debug和release的libqsqlmysql4.lib,qsqlmysql4.dll 拷贝至c:\Qt\4.8.5\mingw\plugins\sqldrivers 目录下
2.将mysql的库文件libmysql.dll拷贝到库文件libmysql.dll拷贝到D:\Qt\4.8.5\bin目录下。
3.将 mysql下 bin 文件中libmysql.dll文件 拷贝到 system32 下面.【第一次忘记这个,driver一直不能加载】
第四步、验证
接下来运行一个例子看驱动是否装好:
新建一个qt gui 控制台项目SQLtest
在SQLtest.pro中加入QT +=sql 【没找到pro文件,在qt选项create basic .proc\SHEGNC】
接着修改main.cpp如下
#include <QtCore/QCoreApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers) qDebug() << "\t "<< driver;
qDebug() << "End";
return a.exec();
}
执行程序输出为:
Available drivers:
"QSQLITE"
"QMYSQL3"
"QMYSQL"
"QODBC"
"QPSQL7"
"QPSQL"
End
其中有"QMYSQL"则表示编译mysql的驱动成功了!!
阅读全文
0 0
- Qt4.8.5编译mysql5.7.30驱动
- Qt4.7.2+VS2008+mysql5.5.24驱动编译
- Qt4.7.3 编译MYSQL5数据库驱动--回顾
- Qt4.8编译mysql5.5
- Qt4.7编译mysql5.5
- qt4.7.3编译MYsql驱动
- qt4.8编译MYSQL 驱动
- qt4:windows下安装qt4及编译mysql5驱动程序全过程
- Qt4.8.5连接MySQL5.5
- Qt编译MySql5.7.17驱动
- QT4.7.3安装mysql5.5系类驱动
- windows下Qt4.8编译MYSQL驱动
- VS2008下Qt4编译MySQL驱动
- qt4.8.5 编译安装
- 编译Qt4.8.5源码
- qt4:windows下编译qt4的mysql5驱动程序的错误解决
- Qt4.8.5 配置mysql驱动
- [mark]vs2012编译qt4.8.5
- glog0.3.5 编译错误error C2065: 'uint64_t' : undeclared identifier
- 【C++】统计string里面出现的字符的个数(使用count函数)
- 几个免费的英文文献
- 我普通下载速度为2M左右,但是为什么从我的百度网盘下载东西,速度却为60k左右?从技术上来说,怎么做到服务器端限速?
- 计算机科学与数学的关系
- Qt4.8.5编译mysql5.7.30驱动
- SSH整合其他方式(没有hibernate的核心配置文件)
- POJ1260-Pearls(dp)
- HBase源码分析之用户
- VSCode代码修改延迟的问题
- 在结构化的程序设计中,模块划分的原则是()
- 系统编程之进程,父子进程fork()函数
- centos 7配置系统调度isolcpus(软中断绑定)
- JavaScript高级程序设计--基本概念