`
郑睿9
  • 浏览: 163371 次
  • 性别: Icon_minigender_2
  • 来自: 浙江
社区版块
存档分类
最新评论

Windows下Qt驱动MySQL数据库

 
阅读更多

       昨天是一场经过了如此纠结的MySQL数据库的卸载再安装的洗礼的一天,今天的在Windows下Qt驱动MySQL数据库也是历经千辛万苦才到达成功的彼岸的。虽然遇到了各种乱七八糟的问题,不过总算是圆满解决,这也是令人欣慰的一点吧。谨以此文纪念下我的艰难曲折。如果能为大家提供一些帮助,我将不胜荣幸。

      MySQL不能选择Typical型,这样会缺少库文件。可以选择Full型或Custom型。我安装的MySQL是Typical型的,所以在lib目录下是没有opt文件夹的,因此进行了重新安装(积累了N多经验,这次安装可算是小菜一碟)。为了图方便,我直接选择了Full型的,但这样会存在一个问题,MySQL默认的安装路径是C:\Program Files\MySQL\MySQL Server 5.1,这个路径中存在空格,这会在后面的操作中出现问题。我的解决方案是在C盘下直接新建一个mysql文件夹,将C:\Program Files\MySQL\MySQL Server 5.1\include 和C:\Program Files\MySQL\MySQL Server 5.1\lib目录拷到C:\mysql文件夹下。

       安装好MySQL后,进行Qt的安装。将Qt下的bin和QT\qt\bin配置环境变量。

       Qt是集成了mingw的,看到网上说要下载MinGW,不管三七二十一,我也下载安装了一下。将MinGW的bin配置环境变量。

       mingw使用的库和msvc使用的不同格式的库而引起的。而mysql只提供了msvc可使用的库,所以需要下载一个动态库格式转换工具,网址为: http://www.qtcn.org/download/mingw-utils-0.3.tar.gz,解压后把里边bin目录里的remip.exe拷到mingw的bin目录。我是把reimp.exe同时也放到了MinGW的bin下(我也不知道有没这必要,一来是首次接触Qt这东东,二来也没看到网上详细的解释)。

以下为本人机器上的命令行操作,路径请修改为自己设置的:
过程:
1:从libmysql.lib生成libmysql.a文件(mingw使用的静态链接文件为linux格式 *.a)
>>C:
>>cd mysql\lib\opt
>>reimp -d libmysql.lib (生成 libmysql.def文件)
>>dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)

2:生成Qt下的mysql驱动:
>>cd \
>>cd qt\src\plugins\sqldrivers\mysql
>>QMAKE -o Makefile "INCLUDEPATH+=C:\mysql\include" "LIBS+=C:\mysql\Llib\opt\libmysql.a" mysql.pro
>>mingw32-make

在这个时候,我遇到问题。在执行完QMAKE -o Makefile "INCLUDEPATH+=C:\mysql\include" "LIBS+=C:\mysql\Llib\opt\libmysql.a" mysql.pro
会出现警告。

 

WARNING: (internal):1: Unescaped backslashes are deprecated.   

WARNING: (internal):1: Unescaped backslashes are deprecated.   

WARNING: (internal):1: Unescaped backslashes are deprecated. 

 

      遇到该警告,也有看到网上有相应的解决方法,现在也把它放上来以供参考。但貌似这警告对后面的执行没有影响。

用记事本打开D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\ mysql.pro文件,在第二行加入: INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 5.1/include" LIBS += "C:/Program Files/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib" 并保存.

      (其实我也比较困惑这个问题,我觉得应该是在第二行加入:INCLUDEPATH+="C:\mysql\include" LIBS+="C:\mysql\Llib\opt\libmysql.a" 这只是我的猜测,我也没试过。呵呵~)

      在执行mingw32-make时,出现了一堆vc98的问题,在网上看了蛮多的博文,都没有看到类似的问题,不过踏破铁鞋无觅处得来全不费工夫,终于在某篇博文上看到了这个问题,博主也给出了解决方法。造成一堆乱78糟的vc98问题的原因是在装vc98时自动的配置了环境变量include 和 lib ,先删了这两个环境变量,执行完mingw32-make命令后再重新配置回去就没有问题了。

 

       成功执行后,会E:\QT\qt\plugins\sqldrivers下生成下面四个文件。

  1. qsqlmysql4.dll   
  2. libqsqlmysql4.a  
  3. qsqlmysqld4.dll   
  4. libqsqlmysqld4.a  

      这样,终于,Qt可以驱动Mysql了。

      接下来写下测试程序。

      头文件引入:

#include <QSqlDatabase>

#include <QSqlError>

     

     测试代码:

     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
     db.setHostName("localhost");
     db.setDatabaseName("gamesql");
     db.setUserName("root");
     db.setPassword("netjava");
     bool ok = db.open();
     if(!ok){
         qDebug()<<"failuer";
         qDebug()<<db.lastError();
     }else{
         qDebug()<<"success";
     }

 

 

注意,要在项目的pro文件下加入

QT +=sql

才可以。

 

QT += core gui QT +=sql TARGET = test TEMPLATE = app


 

好了,这样一切OK啦~~

就一个简单的配置驱动问题,弄了一天,整个人就属于焦头烂额的状态,不过收获还是有的嘛。在尘埃落定的那一刻,还是蛮开心的~~(*^__^*) ~~

 

驱动安装问题小结一下:

1.MySQL的include和lib路径中不能含有空格。

2.下载mingw-utils-0.3.tar.gz 将其解压后的reimp.exe放到mingw下,执行生成libmysql.a文件

3.配置Qt环境变量。同时我也把WinGW也配置了环境变量(我不知道这是否必要)。

4.用qmake和make命令生成MySQL驱动。

4.警告解决,用记事本打开D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\ mysql.pro文件配置文件。

5.如果有vc98相关环境变量,将vc98的环境变量先删了,装好后再恢复。

 

希望能对大家有帮助~~

 

 

 

 

 

 



  


  
分享到:
评论

相关推荐

    Qt连接Mysql数据库驱动

    在进行Qt与MySQL数据库连接之前,首先需要了解如何搭建开发环境以及如何编译Qt与MySQL数据库之间的驱动。下面详细介绍如何分步骤搭建Qt开发环境、MySQL数据库环境,并编译Qt连接MySQL数据库驱动。 1. Qt开发环境...

    linux下QT连接mysql数据库.doc

    QT 连接 MySQL 数据库在 Linux 平台下的实现 在 Linux 平台下,使用 QT 连接 MySQL 数据库是一种常见的应用场景。本文将详细介绍如何使用 QT 连接 MySQL 数据库,并提供了相关的代码示例。 首先,需要安装 MySQL ...

    Qt添加MySQL数据库驱动插件

    成功安装MySQL数据库后,下一步是在Qt中生成MySQL驱动插件,以便能够通过Qt应用程序访问MySQL数据库。 1. **打开QtCommandPrompt**:在Qt安装目录下找到并启动QtCommandPrompt,这是一个专门用于Qt开发的命令行工具...

    Qt 添加MySQL驱动教程(成功版)

    这篇教程将详细介绍如何在Qt环境中添加MySQL驱动,以便能够成功地与MySQL数据库进行交互。Qt是一个功能强大的C++应用程序框架,而MySQL则是一种流行的开源关系型数据库管理系统。两者结合,可以创建高效、稳定的...

    linux下QT连接mysql数据库[定义].pdf

    在 Linux 下使用 QT 连接 MySQL 数据库需要安装 MySQL 客户端和 QT 的 MySQL 驱动程序。首先,需要安装 MySQL 客户端,可以使用命令 `sudo apt-get install libmysqlclient-dev` 或 `sudo apt-get install ...

    Qt6连接MySQL所需驱动文件

    在开发基于Qt6的应用程序时,与MySQL数据库的交互是一个常见的需求。在Windows 11环境下,使用Qt 6.2.4版本和Microsoft Visual C++ 2019 64位编译器(msvc2019_64),你需要确保正确配置和安装了所有必要的组件来...

    Qt实现MySQL数据库读写

    在本文中,我们将深入探讨如何使用Qt框架来实现对MySQL数据库的读写操作。Qt是一个功能强大的跨平台应用程序开发框架,而MySQL则是一款广泛应用的关系型数据库管理系统。由于Qt本身并不直接支持MySQL,我们需要借助...

    Qt5.13 配置mysql数据库驱动.pdf

    在了解如何在Windows10和Ubuntu18系统下为Qt5配置mysql数据库驱动之前,我们需要明确几个概念。首先,Qt是一个跨平台的C++应用程序框架,广泛用于开发图形用户界面程序以及非GUI程序。Qt5是其第五个主要版本,而Qt...

    在Qt中创建MySQL数据库.txt

    ### 在Qt中创建MySQL数据库 #### 一、简介与背景 在现代软件开发中,图形用户界面(GUI)的应用程序非常普遍,而Qt作为一个跨平台的C++图形用户界面应用程序开发框架,在桌面应用开发领域拥有广泛的应用。对于需要...

    Qt6 Mysql8 windows驱动

    2022年5月,使用QT6.3,默认没有mysql驱动,网上没有找到,自己编译。步骤方法: 注意: 1.Linux和windows差别:系统PATH、各路径、mysql包含库名称 2. 预先准备mysql,这里的dll是用qt6.3和mysql8.0.28编译的 3. ...

    Qt对MySQL数据库界面登录操作

    3. MySQL驱动:Qt需要连接到MySQL,所以我们需要安装`libmysqlclient`(或在Windows上是`qmysql`驱动)。 接下来,我们将分步骤讲解如何构建这个登录界面和实现数据库连接: 1. **创建Qt项目**: 在Qt Creator中...

    Qt4版本的MySQL数据库驱动

    本篇文章将深入探讨Qt4版本中的MySQL数据库驱动,以及如何在Qt4环境中连接和操作MySQL数据库。 首先,MySQL是一种开源的关系型数据库管理系统,广泛用于Web应用、数据存储和分析等场景。Qt4提供了一个名为"QMYSQL...

    Qt5.12.0 mysql8.0版本驱动dll

    当在Qt应用程序中需要与MySQL数据库进行交互时,就需要一个合适的驱动程序,即所谓的“Qt的MySQL驱动dll”。 在Qt5中,数据库访问是通过QSqlDatabase类实现的。为了连接到MySQL数据库,开发者需要添加适当的驱动...

    QT连接MYSQL数据库的驱动

    在QT中,通过QSqlDatabase模块可以方便地与多种数据库进行交互,其中包括著名的MySQL数据库。然而,在实际操作中,有时会遇到"QMYSQL driver not loaded"的错误提示,这表明QT无法找到或加载用于连接MySQL的驱动程序...

    qt 5.13.2和5.15.2的mysql驱动

    在本主题中,我们主要关注的是QT与MySQL数据库的集成,特别是针对QT 5.13.2和5.15.2版本的MySQL驱动。 首先,QT中的SQL模块允许开发者连接到多种数据库,包括MySQL。MySQL驱动是这个模块的一部分,它实现了...

    windows下qt编译mysql驱动用到的include和lib

    在Windows环境下,使用Qt开发应用程序并连接MySQL数据库时,需要对Qt进行编译以包含MySQL驱动。这个过程涉及到几个关键步骤和技术知识点,包括Qt的源码编译、MySQL的开发库配置以及Qt Creator或Visual Studio的项目...

    实验五 使用Qt连接MySQL数据库(1).docx

    实验内容分为两个部分:使用 Qt C++ 编程方式通过 Driver 驱动程序的方式连接 MySQL 数据库和使用 Qt C++ 编程方式通过 MySQL 提供的 native CLIB 里面 API 连接数据库。 (一) 使用 Driver 驱动程序的方式连接 ...

    Qt连接mysql数据库

    首先,确保你已经安装了Qt开发环境以及MySQL数据库驱动。在Qt Creator中,你可以通过"Qt版本管理器"添加MySQL驱动。你需要下载并安装MySQL Connector/C++,它是Qt与MySQL通信所需的库。 接下来,创建一个新的Qt项目...

    Qt下MySql数据库驱动

    本篇文章将详细探讨如何在Qt环境下配置和使用MySQL数据库驱动,以及相关的编程实践。 首先,要使用Qt的MySQL驱动,你需要确保已经安装了MySQL数据库服务器,并且在系统中安装了适用于Qt的MySQL驱动程序。在Linux...

Global site tag (gtag.js) - Google Analytics