Ubuntu18.04下安装mysql并使用QT成功编译驱动方法

news2024/11/26 13:22:48

开发环境:Ubuntu18.04+QT5.14.2+MySQL5.7.240

编译步骤:

1、安装mysql软件和驱动:

打开终端命令,执行安装语句如下:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysql++
sudo apt-get install libmysqlclient-dev

 2、查询安装好的路径:

whereis mysql.h

3、QT安装目录下的项目文件访问权限问题设置办法
sudo chmod -R 777 /opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers
sudo chmod -R 777 /opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro
sudo chmod -R 777 /opt/Qt5.14.2/5.14.2/gcc_64
sudo chmod -R 777 /opt/Qt5.14.2/Tools/QtCreator

4、在终端命令窗口中输入sudo /opt/Qt5.14.2/Tools/QtCreator/bin/qtcreator回车后以管理员权限打开QtCreator软件。

 

5、在QtCreator软件中,打开mysql项目/opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro项目文件。

6、修改mysql.pro文件内容为
TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

# QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

INCLUDEPATH+=/usr/include/mysql
LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
DESTDIR = ./x86_64-linux-gnu/lib

7、修改qsqldriverbase.pri文件内容为
QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
# include($$shadowed($$PWD)/qtsqldrivers-config.pri)
include(./configure.pri)

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

 8、以Release方式编译运行mysql.pro项目后,会在/opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/Release/x86_64-linux-gnu/lib目录下生产对应的驱动文件:libqsqlmysql.so,libqsqlmysql.so.debug。拷贝拷贝两个驱动文件到/opt/Qt5.14.2/5.14.2/gcc_64/plugins/sqldrivers目录下。

 9、新建测试QT项目后,测试MYSQL数据库连接,测试代码如下:

#include <QApplication>
#include <QSqlDatabase>
#include <QDebug>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // 查看数据库驱动名字
    qDebug()<<QSqlDatabase::drivers();
    // 加载驱动mysql数据库驱动
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    //本机数据库
    db.setHostName("192.168.1.200");
    db.setUserName("root");
    db.setPassword("123456");
    db.setDatabaseName("test");
    db.setPort(3306);
    if(!db.open())
    {
        qDebug()<< "服务器连接失败,请稍后重新尝试";
    }
    else
    {
        qDebug()<< "服务器连接成功,进行后续数据库增删改查操作";
    }
    // 关闭数据库
    db.close();
    return a.exec();
}

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

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

相关文章

MyBatisPlus(MP)学习记录(分页查询的开启+日志打印配置)

MP介绍&#xff08;官网链接&#xff09; MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 前言 本篇文章展示的MP教学中涉及到的版本如下&#xff1a; IDE…

使用Xshell 将Linux文件下载到本地或者将本地的文件上传到Linux

第一步&#xff1a;在Linux中安装上传下载功能的软件 sudo apt install lrzsz第二步&#xff1a;将Linux文件下载到本地&#xff1a;此时我的Linux桌面上有一个叫test.c的文件&#xff0c;我要将它下载到windows桌面上。 在Linux终端输入&#xff1a; sz test.c这里使用的是…

座舱显示的未来到底是什么?宝马供应商给出了答案

“显示器是汽车的核心人机界面&#xff0c;”业内人士表示&#xff0c;与此同时更智能化、体验更好的显示解决方案在驾驶舱的设计中起着核心作用。 屏幕及其增强驾驶体验的巨大潜力正迅速成为未来智能网联汽车DNA的一部分。高分辨率、大尺寸以及曲面屏、OLED屏等等新元素&…

【手写 Vue2.x 源码】第十九篇 - 根据 vnode 创建真实节点

一&#xff0c;前言 上篇&#xff0c;根据 render 函数&#xff0c;生成 vnode&#xff0c;主要涉及以下几点&#xff1a; 封装 vm._render 返回虚拟节点_s&#xff0c;_v&#xff0c;_c的实现 本篇&#xff0c;根据 vnode 虚拟节点渲染真实节点 二&#xff0c;根据 vnode 创…

SpringCloud项目实例3--Nacos整合

然后新建一个Module&#xff0c;命名为nacos-provider-demo&#xff0c;Java代码的包名为ltd.newbee.cloud。在该Module的pom.xml配置文件中增加parent标签&#xff0c;与上层Maven建立好关系。之后&#xff0c;在这个子模块的 pom.xml 文件中加入Nacos的依赖项 spring-cloud-s…

谈一谈暴露偏差

文章由参考文章重新组合而来。 暴露偏差又叫Exposure Bias&#xff0c;是由Teacher Forcing 导致的。 Teacher Forcing Teacher Forcing 是一种用于序列生成任务的训练技巧&#xff0c;与Autoregressive模式相对应&#xff0c;这里阐述下两者的区别&#xff1a; Autoregres…

【Flink系列】部署篇(一):Flink集群部署

主要回答以下问题&#xff1a; Flink集群是由哪些组件组成的&#xff1f;它们彼此之间如何协调工作的&#xff1f;在Flink中job, task, slots,parallelism是什么意思&#xff1f;集群中的资源是如何调度和分配的&#xff1f;如何搭建一个Flink集群&#xff1f;如何配置高可用服…

目标检测再升级!YOLOv8模型训练和部署

一个不知名大学生&#xff0c;江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.1.12 Last edited: 2023.1.12 目录 目标检测再升级&#xff01;YOLOv8模型训练和部署 简介 YOLOv8创新改进点 区别 1、C2f模块是什么&…

探索与创新:低代码助力金融数字化转型发展

“十四五”规划和 2035 年远景目标纲要提出“加快数字化发展&#xff0c;建设数字中国”&#xff0c;并就打造数字经济新优势、加快数字社会建设步伐、提高数字政府建设水平、营造良好数字生态作出战略部署。这为数字中国的下一步发展指明了方向&#xff0c;提供了指引。可以说…

CentOS环境下Rabbit集群部署

前言本次Rabbit集群部署所使用的的软件版本erlang&#xff1a;erlang-23.3.3-1.el7.x86_64.rpm &#xff0c;rabbitmq&#xff1a;rabbitmq-server-3.8.23-1.el7.noarch.rpm本次Rabbit集群部署需要安装在两台CentOS服务器分别为svr-app-rabbitmq01、svr-app-rabbitmq02&#xf…

Trime同文输入法JNI加载过程

Trime同文输入法JNI加载过程JNI初始化顺序第一步、加载librime_jni.so库第二步、自动注册机制第三步、正式加载librime_jni.so库插入一个话题、简化打印记录第四步、执行Rime.java中的init()方法LoadModules()LoadModule()rime_core_initialize()调用顺序Class不是class关键字&…

3D应用无需下载即点即用,云应用带来更轻量的元宇宙

最近一个程序员朋友告诉我&#xff0c;公司市场部想做一个元宇宙相关的互动游戏&#xff0c;于是给技术团队提了一个带用户线上沉浸式环游园区的H5开发需求。他摸着所剩无几的头发据理力争&#xff1a;这个需求真的做不了&#xff01;我听了很疑惑&#xff0c;现在许多品牌都在…

工作流引擎架构设计

原文链接&#xff1a; 工作流引擎架构设计 最近开发的安全管理平台新增了很多工单申请流程需求&#xff0c;比如加白申请&#xff0c;开通申请等等。最开始的两个需求&#xff0c;为了方便&#xff0c;也没多想&#xff0c;就直接开发了对应的业务代码。 但随着同类需求不断增…

深度学习PyTorch 之 网络结构可视化

深度学习&PyTorch 之 DNN-回归 深度学习&PyTorch 之 DNN-回归&#xff08;多变量&#xff09; 分别介绍了DNN回归的方法和代码&#xff0c;但是模型建立好了&#xff0c;他到底是个什么样子呢&#xff1f; 我们这节给大家介绍一个查看模型结构的方法 可视化介绍 我们…

【信管8.1】项目人力资源管理概念及过程

项目人力资源管理概念及过程不管你做什么事&#xff0c;要成就什么事业&#xff0c;要做什么项目&#xff0c;这一切&#xff0c;都是由人来完成的。因此&#xff0c;人力资源对于项目管理来说&#xff0c;是非常重要的一个管理过程。同时&#xff0c;人力资源管理也是整个管理…

2023/1/11 Web前端Promise从入门到精通

ES6引入的进行异步编程的解决方案&#xff0c;从语法上说它是一个构造函数。 异步编程包括但不限于&#xff1a;文件操作、数据库操作、AJAX、定时器 为什么要用Promise&#xff1f; 之前进行异步编程直接通过回调函数的方式进行&#xff0c;会导致回调地狱。 回调函数&#…

Qt扫盲-QMenu理论总结

QMenu理论总结一、概述二、常用操作1. 添加Action2. 信号槽3. 可撕下菜单4. 展示菜单一、概述 QMenu其实就是菜单控件&#xff0c;菜单控件本质上就是一个选择项目。它可以是菜单栏中的下拉菜单&#xff0c;也可以是独立的上下文菜单。当用户单击相应的位置或按下指定的快捷键…

【大数据】第一章:了解Hadoop生态圈

大数据特点&#xff08;4V&#xff09; Volume(大量) 非常非常多&#xff0c;大企业数据接近1EB Velocity(高速) 比如在双十一&#xff0c;数据爆增 Variety(多样) 很多样子的数据&#xff0c;比如&#xff0c;代码&#xff0c;图片&#xff0c;视频&#xff0c;JSON&am…

【C++】八大排序

文章目录前言1. 插入排序2. 希尔排序3. 选择排序4. 堆排序5. 冒泡排序6. 快速排序(重点)6.1 快速排序(hoare版本)6.2 快速排序(挖坑法)6.3 快速排序(前后指针法)6.4 快速排序(非递归)6.5 快速排序(优化)7. 归并排序7.1 归并排序(递归实现)7.2 归并排序非递归实现8. 计数排序排序…

Docker搭建PHP运行环境

目录 Docker 安装 PHP Docker 安装 Nginx ​编辑运行nginx容器 nginx安装成功 Nginx PHP 部署PHP项目 启动 PHP&#xff1a; 启动 nginx&#xff1a; 查看正在运行的容器: 访问域名测试搭建结果 Docker相关命令描述 Docker 安装 PHP 这里我们拉取官方的镜像,标签…