MACOS系统Qt配置MySQL

news2024/11/19 11:20:58

1.打开Qt Maintenance Tool必须下载Sources

2.下载后打开/Users/liwanyu/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro直接点开

3. 点开mysql.pro文件,注释第六行 QMAKE_USE += mysql

添加三行路径:找到自己的mysql路径和自己的Qt下的 sql驱动路径:

INCLUDEPATH += "/usr/local/mysql-8.1.0-macos13-x86_64/include"
LIBS += "/usr/local/mysql-8.1.0-macos13-x86_64/lib/libmysqlclient.22.dylib"
DESTDIR = "/Users/liwanyu/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers"

添加路径后此时直接编译会出错

4.打开终端,进入自己的Qt下的mysql文件

Qt下的mysql文件路径:以自己的路径为主:(/Users/liwanyu/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql)

输入以下命令:

        qmake INCLUDEPATH+=/usr/local/mysql-8.1.0-macos13-x86_64/include LIBS+=/usr/local/mysql-8.1.0-macos13-x86_64/lib/libmysqlclient.22.dylin mysql.pro

(注意以自己电脑上的mysql安装的路径为主)

 注意:qmake需要自己配置~/.bash_profile配置方法如下:

(1)在终端打开~/.bash_profile文件:

vim -r ~/.bash_profile

(2)添加以下语句全局环境变量:(是自己的Qt目录)

export QTDIR=/Users/liwanyu/Qt/5.15.2/clang_64
exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH

(3)添加完后保存并退出在终端输入以下语句让环境生效

source ~/.bash_profile

 (4)验证qmake是否成功

qmake -v

        在终端输入qmake -v后如果输出qmake的版本信息就说明配置成功 

5. make install编译qmake生成的makefile文件

qmake后就会在mysql文件下生成一个Makefile文件,然后就make install编译Makefile文件:

注意:

如果没有make需要下载homebrew后,然后brew install make

下载homebrew命令:(随机选择一个镜像源即可)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

6. 检查是否有生成以下4个文件

进入自己的Qt 下的sql驱动文件(/Users/liwanyu/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/)

看是否生成以下4个文件,如果有就说明编译mysql驱动成功:

7.创建新工程连接MySQL

(1)在新工程的.pro文件下加sql

 (2)在main.cpp写入以下代码

#include "mainwindow.h"
#include <QApplication>
#include "QDebug"
#include <QSqlQuery>
#include <QSql>
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
#include <QSqlRecord>

int main(int argc, char** argv){
    QApplication a(argc, argv);
    qDebug()<<"drives: ";

    QStringList drivers = QSqlDatabase::drivers();  //获取现在可用的数据库驱动
    foreach(QString driver, drivers)
    qDebug() << driver;

    QSqlDatabase database = QSqlDatabase::addDatabase("QMYSQL");
    database.setHostName("localhost");//127.0.0.1
    database.setPort(3306);
    database.setUserName("root");
    database.setPassword("自己的MySQL密码");

    database.setDatabaseName("xuedao"); //这个库是存在的
    if (database.open()) {
        qDebug() << "连接MySQL数据库成功";
    } else {
        qDebug() << "连接MySQL数据库失败";
    }
 
    return  a.exec();
}

(3)编译运行

输出结果为上图所示就是成功了

(4)测试

在终端登录自己的mysql账号进入库xuedao,打开student表,查看表中信息:

 

在qt测试工程中添加以下代码:

    QSqlQuery query(database);
    query.exec("insert into student values(3,'小红','女');");
    query.exec("insert into student values(4,'张三','男');");
    query.exec("insert into student values(5,'赵六','男');");

编译运行Qt工程,然后再在终端查看student表的变化:

 

发现qt上成功连接mysql,并成功添加数据,到此qt配置mysql大功告成!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1046636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++笔试错题集+图解知识点(一)—— 持续更新中

1. printf("%5.2s", ) #include <iostream> using namespace std; int main() {printf("%s\n", "string");printf("%5.3s\n", "string"); //总共打印五个字符&#xff0c;取"string"的前三个字符&#…

B+树的定义以及查找

1.B树的定义 一棵m阶的B树需满足下列条件: 每个分支结点最多有m棵子树(孩子结点)。非叶根结点至少有两棵子树&#xff0c;其他每个分支结点至少有「m/2]棵子树。结点的子树个数与关键字个数相等。所有叶结点包含全部关键字及指向相应记录的指针&#xff0c;叶结点中将关键字按…

电子电子架构——AUTOSAR信息安全机制有哪些?(上)

电子电子架构——AUTOSAR信息安全机制有哪些&#xff08;上&#xff09; 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 人们会在生活中不断攻击你。他们的主要…

LINUX|ubuntu常用指令

文章目录 查看IP显示当前路径下所有文件安装编译工具GCC、调试工具GDB、连接工具SSHmkdir 创建目录export命令显示当前系统定义的所有环境变量echo $PATH命令输出当前的PATH环境变量的值当前命令行添加环境变量&#xff0c;关闭失效&#xff0c;防止多版本库冲突时使用sudo su打…

零基础学习ESP8266

文章目录 零基础学习ESP8266前言选择硬件如何学习专栏大纲基础部分提高部分 总结 零基础学习ESP8266 前言 最近在空余的时候有用乐鑫的模组&#xff0c;感觉很不错&#xff0c;也决定简单写写。 相信看这篇文章的同学&#xff0c;希望可以熟悉ESP8266这个硬件平台。当然我们…

gogs git 服务器极速搭建

背景 小型团队合作中&#xff0c;需要代码托管在内网&#xff0c;gitlab 等搭建比较复杂&#xff0c;经过一番搜寻发现gogs满足需求 基本用户管理后台管理面板&#xff0c;能在web端查看管理安装配置极简 安装配置 gogs是支持多个平台&#xff0c;这里我们选择ubuntu 1.下载git…

Fastjson 结合 jdk 原生反序列化的利用手法 ( Aliyun CTF )

2023 Aliyun CTF ezbean是一道CTF java反序列化题目。 题目的目的是让选手通过一个java原生反序列化入口&#xff0c;最终达成RCE。本文对题目的几种解法做了具体的分析&#xff0c;主要分为预期解法和非预期解法两种思路。通过对Fastjson在反序列化的行为分析&#xff0c;从两…

ChatGPT App迎来重大更新;人工智能应用于应对气候变化

&#x1f989; AI新闻 &#x1f680; ChatGPT App迎来重大更新&#xff1a;增加多模态交互方式 摘要&#xff1a;OpenAI最近宣布了ChatGPT App的重大更新&#xff0c;新版的ChatGPT增加了多模态交互方式&#xff0c;用户可以向AI展示正在谈论的内容&#xff0c;比如拍照并询问…

装配工位防错改造

装配工位防错改造-需求 PROBLEM 装配作业的失误会引起产品品质缺陷&#xff0c;易导致库存、返工和报废&#xff0c;从而增加工厂的生产成本和时间成本&#xff0c;进一步甚至会导致公司丢失业务&#xff01; CAUSES 1、产生装配问题的主要归因&#xff08;占80%左右&#x…

华为云云耀云服务器L实例评测|搭建CounterStrike Source Delicated Server(CS起源游戏服务器)

华为云云耀云服务器L实例评测&#xff5c;搭建CounterStrike Source Delicated Server&#xff08;CS起源游戏服务器&#xff09; #【有奖征文】华为云云服务器焕新上线&#xff0c;快来亲身感受评测吧&#xff01;# ⭐️ CounterStrikeSource&#xff08;CS起源是Valve的一款…

【漏洞复现】六、maccms 远程命令执行(CVE-2017-17733)

【漏洞复现】六、maccms 远程命令执行&#xff08;CVE-2017-17733&#xff09; 6.0、储备知识 1、可控参数 &#xff08;审计&#xff09; 2、fputs()函数 函数写入文件&#xff08;可安全用于二进制文件&#xff09;&#xff0c;fputs() 函数是 fwrite() 函数的别名 fpu…

服务器数据恢复-zfs下raidz多块磁盘离线导致服务器崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器共配备32块硬盘&#xff0c;组建了4组RAIDZ&#xff0c;Windows操作系统zfs文件系统。 服务器故障&#xff1a; 服务器在运行过程中突然崩溃&#xff0c;经过初步检测检测没有发现服务器存在物理故障&#xff0c;重启服务器后故障依…

题目 1072: 汽水瓶

有这样一道智力题&#xff1a;“某商店规定&#xff1a;三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶&#xff0c;她最多可以换多少瓶汽水喝&#xff1f;”答案是5瓶&#xff0c;方法如下&#xff1a;先用9个空瓶子换3瓶汽水&#xff0c;喝掉3瓶满的&#xff0c;喝完以…

计算机毕业设计 基于HTML语言的环保网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

助力交叉学科应用型数据科学人才培养,和鲸科技携手华为发布联合解决方案

时代高速发展&#xff0c;智能化的浪潮奔腾而来&#xff0c;以“加速行业智能化”为主题&#xff0c;第八届华为全联接大会&#xff08;HUAWEI CONNECT 2023&#xff09;于 9 月 20 日正式开幕。本次大会中&#xff0c;华为携手生态伙伴引领智慧教育新风尚&#xff0c;和鲸科技…

Spring面试题14:Spring中什么是Spring Beans? 包含哪些?Spring容器提供几种方式配置元数据?Spring中怎样定义类的作用域?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring中什么是Spring Beans? 包含哪些? 在Spring中,Spring Beans是指由Spring容器管理的对象。Spring Beans包含以下内容: 类定义(Class De…

vue实现CBC加密/解密

我们现在终端引入输入 npm install crypto-js引入依赖 突然发现 crypto-js 确实是一个加密的神器 然后 我们直接在App.vue组件这样写吧 <template><div><input v-model"plainText" placeholder"输入明文" /><button click"enc…

XC4150B 3W单声道D类音频功率放大器 可用于蓝牙音箱、行车记录仪

XC4150B是一款超低EMI、无需滤波器3W单声道D类音频功率放大器。XC4150B采用先进的技术&#xff0c;在全带宽范围内极大地降低了 EMI干扰&#xff0c;最大限度地减少对其他部件的影响. XC4150B内置过流保护、过热保护及欠压保护功能&#xff0c;有效地保护芯片在异常工作…

你准备好使用 MySQL 10 了吗?

作者 | Norvald Ryeng 来源 |https://dev.mysql.com/blog-archive/are-you-ready-for-mysql-10/ 大家好&#xff0c;我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 你准备好使用 MySQL 10 了吗&#xff1f;欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号&#…