热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

win下qt装mysql驱动_Windows下编译Qt的Mysql驱动

系统:Windows7Qt版本:4.8.5QtCreator版本:2.8.0安装路径:Qt-D:\Qt4.8.5QtCre

系统:Windows 7

Qt版本:4.8.5

Qt Creator版本:2.8.0

安装路径:

Qt -> D:\Qt4.8.5

Qt Creator -> D:\Qtcreator-2.8.0

mingw -> D:\mingw

1.配置环境变量:

到“我的电脑->属性->高级->环境变量->系统变量”中编辑Path,添加:

我电脑的安装路 ;D:\Qt4.8.5\bin;D:\Qtcreator-2.8.0\bin;D:\mingw\bin

确定;为了让环境变量生效,如果配置环境变量之前已经打开cmd,要重新打开一个新的cmd窗口。

2.下载mysql

官网www.mysql.com下载,非安装包的文件名称类似这种格式:mysql-5.5.29-win32.zip

只需要mysql里面的lib和include,解压到D:\

3.下载mingw-utils-0.3.tar.gz

解压出来,将bin文件夹里面的reimp.exe拷贝到D:\mingw\bin目录,不拷贝也行,调用reimp手动添加绝对路径。

4.编译驱动

打开cmd,执行以下命令:

(1)转换libmysql格式

cd d:\mysql\lib

reimp -d libmysql.lib

dlltool -k -d libmysql.def -l libmysql.a

(2)编译qt的mysql驱动

cd d:\Qt4.8.5\src\plugins\sqldrivers\mysql

qmake "CONFIG+=release" -o Makefile "INCLUDEPATH+=d:/mysql/include" "LIBS

+=d:/mysql/lib/libmysql.a" mysql.pro

mingw32-make

qmake "CONFIG+=debug" -o Makefile "INCLUDEPATH+=d:/mysql/include" "LIBS+=d:/mysql/lib/libmysql.a"

mysql.pro

mingw32-make

5.拷贝mysql驱动

编译完成后,打开D:\Qt4.8.5\src\plugins\sqldrivers\mysql目录,可以看到release和debug目录,分别从release和debug目录中拷贝以下4个文件到D:\Qt4.8.5\plugins\sqldrivers:

qsqlmysql4.dll

libqsqlmysql4.a

qsqlmysqld4.dll

libqsqlmysqld4.a

6.拷贝mysql动态库(重要)

(1)本机运行

拷贝D:\mysql\lib\libmysql.dll文件到D:\Qt4.8.5\bin

(2)发布应用程序

没有mysql的电脑,若要发布应用程序,要跟着libmysql.dll一块发布,与应用程序同级目录。

7.测试mysql可用性

加入已经存在mysql服务,那么编写以下代码测试:

(1).测试是否有驱动

QStringList driverList = QSqlDatabase::drivers();

qDebug() <

运行结果&#xff1a;("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC")?

如果存在QMYSQL和QMYSQL3就是正确的

(2).测试mysql是否可用

QSqlDatabase db &#61; QSqlDatabase::addDatabase("QMYSQL");

db.setDatabaseName("testsql");

bool ok &#61; db.open();

qDebug() <

运行结果&#xff1a;true  若为true&#xff0c;说明连接成功

Mysql驱动下载地址&#xff1a;http://download.csdn.net/detail/u012963417/8027075

http://blog.csdn.net/u012963417/article/details/37773531



推荐阅读
  • MySQL笔记_MySQL笔记1|数据库17问17答
    本文由编程笔记#小编为大家整理,主要介绍了MySQL笔记1|数据库17问17答相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • Linux下ODBC安装配置
    Linux下ODBC安装配置ODBC原理ODBC是 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • .NET中各种数据库连接大全(转)[more].NET中各种数据库连接大全sql.gif)SQLSERVEROdbCStandardSecurity:driver{SQLSe ... [详细]
  • mysql主机地址是什么????下面的该怎么添??mysql主机地址是什么????下面的该怎么添??答:SQLyogEnterprise中,mysql的主机地址如果你是本机,就填写 ... [详细]
  • jsp数据库多行返回(excel返回多行数据)
    本文目录一览:1、数据库数据怎么返回到jsp页面上 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
author-avatar
jihuai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有