【安装环境】Mysql 的安装 和QMYSQL的编译

1 Mysql 的安装

超级详细的mysql数据库安装指南

mysql图形化界面的安装与激活

2 QMYSQL的编译

需要重点注意的是,所有的位数(32位或是64位)都必须一致,否则无法编译或是运行成功MySQL Community Server,编译生成的文件,编译成功后放置的位置,使用mysql时候运行的位数都要一致。

qt没有mysql驱动如何手动编译

 在实际编译的过程中,会出现编译失败的情况,可能是因为qt自身的代码的问题,所以我重新下载了 qt-everywhere-src-5.14.1​​​​​   内里是Qt源码文件

 用下载好的程序中的mysql代码编译来获取lib,但是在编译的过程中还是会遇到问题

还遇到的问题1: Cannot read E:/qtsqldrivers-config.pri: No such file or directory

解决方法:在\qt-everywhere-src-5.14.1\qtbase\src\plugins\sqldrivers下找到configure.pri这个文件,那么我们就把原来需要qtsqldrivers-config.pri的地方注释掉,改成configure.pri Qt连接MySql驱动加载失败问题解决方法_luxuriousLL的博客-CSDN博客_qt 加载mysql驱动

问题2:如果遇到编译无限循环,可以使用shadow build

问题3: cannot find E:\Qt\mysql-5.6.40-winx64\lib: Permission denied

E:\Software\qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql\lib

#mysql-8.0.27-winx64需要自己从网站上下载
INCLUDEPATH += E:/Qt/mysql-5.6.40-winx64/include
LIBS +=E:/Qt/mysql-5.6.40-winx64/lib
DESTDIR = ../mysql/lib/

注: 是/ 而不是\
    路径不要用中文以及空格

3 qt 测试QMYSQL是否可以运行

.pro文件

QT       += sql

.h文件

#include <QString>
#include <QtDebug>
#include <QSqlDatabase>
#include <QSqlQuery>

.cpp文件


MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
,ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //打印qt支持的数据库驱动
    qDebug()<< QSqlDatabase::drivers();
    // 连接mysql,如果mysql已经存在了相应数据库的名字,则可以setDatabaseName再open打开连接数据库
    // 如果没有,想要系统去创建数据库,则setDatabaseName不要设置,open打开时这样连接不上,因为没有相应数据库
    // 而是先连接上mysql,通过命令创建数据库,再通过命令使用相应数据库,切换到该数据库上面
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//添加数据库
    //连接数据库
    db.setHostName("localhost"); // 输入连接的数据库IP
    db.setPort(3306); // 输入连接的数据库端口
    db.setUserName("root"); //输入连接的用户名
    db.setPassword("980507"); //输入连接的密码
    if(db.open())
    {
        QString databaseName = "infosystem";
        db.setDatabaseName(databaseName); // 数据库名称
        qDebug()<<"打开数据库成功";
        QSqlQuery query;
        if(query.exec("create database "+databaseName + " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci")) {
            qDebug()<<"创建数据库"+databaseName+"成功";
        } else {
            qDebug()<<"创建数据库"+databaseName+"失败";
        }

        if(query.exec("use "+databaseName)) {
            qDebug()<<"使用数据库"+databaseName+"成功";
        } else {
            qDebug()<<"使用数据库"+databaseName+"失败";
        }
    } else {
        qDebug()<<"打开数据库失败";
    }

}

结果显示

("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
打开数据库成功
"创建数据库infosystem成功"
"使用数据库infosystem成功"

4 结语 

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!为什么,之前编译出来了,现在编译不出来了!!!!!!!!!!!!!!!!!!!!!!!!!!可恶,不搞了,我附上编译好的下载链接吧 

QT/MySQL/编译 at main · Warning1998/QT · GitHub

我的环境:ps:如果环境不一样,可能一定有用

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值