mac系统中Qt-Mysql的环境配置

mac系统中Qt-Mysql的环境配置

1,安装qt和mysql

Qt下载官网 http://download.qt.io/archive/qt/
mysql下载官网 https://www.mysql.com/downloads/

2.Qt安装Mysql的驱动

2.1 配置qmake环境变量

为什么要配置qmake环境变量,如果系统原来安装过qt qmake很可能用来的是原来的qmake的环境 我一开始就是因为没有配置qmake导致无法安装mysql驱动
打开命令窗口

vim ~/.bash_profile

打开配置文件 输入以下

#Setting PATH for qmake
export QTDIR=/Users/用户名/Qt5.13.1/5.13.1/clang_64
exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH

保存配置文件后

2.2安装mysql驱动

命令行切换到qt中mysql所在的文件夹
/users/用户名/Qt5.13.1/5.13.1/Src/qtbase/src/plugins/sqldrivers
命令行输入

qmake

在这里插入图片描述
出现红色框中yes 证明检测到mysql驱动
命令行输入

make install

即可安装mysql驱动,在文件目录
/users/guojianpeng/Qt5.13.1/5.13.1/clang_64/plugins/sqldrivers
即可查看到mysql四个驱动文件
在这里插入图片描述
切换到该文件下输入命令

otool -L libqsqlmysql.dylib

在这里插入图片描述

2.3修改驱动地址

红色方框的mysql动态连接驱动并不是正确的这时候需要修改动态连接

install_name_tool  -change 
@rpath/libmysqlclient.21.dylib (红色框中的路径地址)
/usr/local/mysql-8.0.21-macos10.15-x86_64/lib/libmysqlclient.21.dylib (mysql实际驱动的地址)
/users/用户名/Qt5.13.1/5.13.1/clang_64/plugins/sqldrivers/libqsqlmysql.dylib(qt mysql的驱动地址)

三个地址一个不能少,也不能错,修改成功后重新输入otool -L libqsqlmysql.dylib 可以查看到地址已经被修改成正确的文件路径
在这里插入图片描述

3.qt测试代码

在qt测试连接数据库前 需要在mysql建一个数据库,如果qt连接的数据库没有这个数据库 也会连接不上

#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    qDebug() <<QSqlDatabase::drivers();
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);//随便端口
    db.setUserName("root");
    db.setPassword("password");
    db.setDatabaseName("database_name");
    //db.open();
    if(!db.open())
        {
            qDebug()<<"不能连接"<<"connect to mysql error"<<db.lastError().text();
            return ;
        }
        else
        {
             qDebug()<<"连接成功"<<"connect to mysql OK";
        }
}

Widget::~Widget()
{
    delete ui;
}


这里只写了测试代码 当然头文件配置文件没有写清楚,可自行百度
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值