win8安装Qt+mysql+qt编译mysql驱动+测试实例解析4.8.2

来源:互联网 发布:淘宝儿童玩具 编辑:程序博客网 时间:2024/06/13 04:20

    这周要完成数据库课设,由于操作系统课设的时候用Qt做过一个任务管理器,深感Qt做的界面非常美观,所以想继续使用Qt。之前是在linux环境下安装的qt,又不涉及到mysql,安装非常之简单。今次是在win8下安装qt,在网上搜索了一番,没有找到win8下安装Qt的教程,很害怕兼容性方面会出现问题,不过做人总是要不断去尝试的,失败也是一次成长的经历啊,抱着这样一种心态,经过一个晚上各种无节操地试验,我最终取得了革命的胜利。鉴于过程非常艰辛曲折,所以想把其写成一个简单的教程,这样就可以让更多的人少走些弯路。(内容有参考win7环境下安装Qt+mysql的教程,综合了win8上遇到的问题,希望能使整个流程一气呵成,方便大家使用!)

      1.安装Qt

     这是安装的时候用到的各种安装文件,大家可以自行搜索完成下载。

         ①先安装qt-creator-win-opensource-2.5.0.exe,安装目录的选择尽可能简单,尽量使用英文,不要有空格或其他符号。我的安装路径 "F:\Qt"

         ②安装完成之后,将文件夹中的MinGW-gcc4401_1.zip解压到安装Qt的根目录下,我把解压文件名改为“MinGW”(注意文件名不要使用空格和中文),这里我是解压到F盘,路径为“F:\MinGW”。

          ③再打开qt-win-opensource-4.8.2-mingw.exe安装程序,安装路径选择与之前安装qt的主文件夹一致,我的安装路径是“F:\Qt\4.8.2\”,不停按next,直到出现以下界面,通过浏览按钮将解压到F盘的MinGW文件夹填入路径中,按install进行安装。

          

                ④安装Qt完成之后,打开QCreator,点击tools--options--build&run。选择Qt version,点击add按钮,浏览进入路径为F:\Qt\4.8.2\bin\qmake.exe的文件夹,载入qmake.exe的程序,点击apply按钮,应用设置。(我在加载的时候,qmake.exe项前面会出现红色感叹号。若遇到相同问题,重新再加载一遍,红色感叹号即可消失)

继续设置Tools chains中的complier path,点击browse,路径为d:\MinGW\bin\mingw32-g++.exe,在上面的Manual会显示出MinGW即可。按ok完成设置。如下图所示:

           

           2.安装mysql

      打开mysql-5.5.15-win32.msi安装程序,安装的时候,选择中间一项---typical,才能自己选择安装路径。在安装中一定要注意安装的路径名中不要有中文,不包含空格,不然会导致后面的步骤无法进行。我的安装路径与Qt在同一根目录,为“F:\MySQL”。

          mysql的安装很简单,路径中不能有空格是最重要的注意点。mysql-workbench-gpl-5.2.42-win32.msi是是mysql可视化的安装程序,看个人喜好,可以不安装。之后就可以进行最难搞的下一步了。

       3.编译mysql驱动

     编译mysql驱动,网上有介绍过两种方法,一种是手动修改文件,还有一种是qt命令行的方式,在实践中,我两种都尝试过,最后手动的方式成功了,而命令行的方式试过无数次,每次都会出现各种各样的问题,有时候,我的修改甚至无法写进文件里,导致后面的步骤都出错,所以此处我重点讲手动修改文件的方法。

       ①在我的电脑中,win8是不能直接通过界面修改环境变量的,所以这里提供一种dos下修改环境变量的方法。

           打开dos界面,输入set path指令,你可以看到界面上所有的path环境变量的值。

           输入命令set path=%path%;F:\MySQL\bin

                        set path=%path%;F:\MinGW\mingw\bin

                       set path=%path%; F:\Qt\4.8.2\bin

                        set path=%path%;F:\Qt\qtcreator-2.5.0\bin

         完成后, 再输入set path就可以看到改变好的环境变量了。

       ②打开F:\Qt\4.8.2\src\plugins\sqldrivers\mysql,文件夹,用文本编辑器打开mysql.pro,直接在文件第二行出加入 INCLUDEPATH+="F:/MySQL/include" LIBS+="F:/MySQL/lib/libmysql.lib"并且保存。(注意,修改mysql.pro中的内容是用反斜线。)

    ③打开Qt 4.8.2 Command Prompt的命令界面,使用cd F:\Qt\4.8.2\src\plugins\sqldrivers\mysql进入到此文件夹,先输入qmake “INCLUDEPATH+=F:\MySQL\include” “LIBS+=F:\MySQL\lib\libmysql.lib” mysql.pro,运行完成。

       ④再输入mingw32-make。可以发现F:\Qt\4.8.2\src\plugins\sqldrivers\mysql\debug中多了很多文件。

       ⑤完成之后,使用make release命令,可以看到F:\Qt\4.8.2\src\plugins\sqldrivers\mysql\release中多了很多文件。

       ⑥libqsqlmysqld4.a,qsqlmysqld4.dll,libqsqlmysql4.a,qsqlmysql4.dll,从以上两个文件夹中将这四

个文件拷贝出来,放到

F:\Qt\4.8.2\plugins\sqldrivers

(注意,一定是放在这个文件夹里,不是这个路径F:\Qt\4.8.2\src\plugins\sqldrivers),

另外,还可以把libmysql.dll(这个库文件在mysql的文件夹里)复制到system32.这次重装系统,再装mysql+qt,遇到“一个错误”:

               “QSqlDatabase: QMYSQL driver not loaded

                QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC”

                解决方法:MySQL/lib目录下的libmySQL.dll文件复制到Qt安装目录下的D:\Qt\bin目录

 

 

 

 

 4.测试mysql驱动

进入qt,新建一个工程,在.pro文件中添加

QT += sql    //这行一定要添加。

再在mainwindow.cpp中的函数进行相应的修改。

#include"mainwindow.h"

   #include "ui_mainwindow.h"
   #include <QtDebug>
   #include <QSqlQuery>
   #include <QtGui>
   MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
   {   
             ui->setupUi(this);
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //添加数据库驱动
    db.setUserName("root");//用户名
    db.setPassword("按照自己创建的密码输入");
    db.setHostName("localhost");
    db.setDatabaseName("test");//数据库名,mysql里自带有一个数据库,就是test,也可以自己建立新的数据库测试。
    db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");//使用SSL
    db.setPort(3306);
    if(db.open())
    {
        qDebug() <<"right";
    }
   }
最终会在调试屏幕下方发现有输出“right”,则驱动安装成功。至此整个步骤全部完成。

原创粉丝点击