Ubuntu 22.04 编译安装 Qt mysql驱动

这篇具有很好参考价值的文章主要介绍了Ubuntu 22.04 编译安装 Qt mysql驱动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考自
Ubuntu20.04.3 QT5.15.2 MySQL驱动编译
Ubuntu 18.04 编译安装 Qt mysql驱动
下边这篇博客不是主要参考的, 但是似乎解决了我的难题(找不到 libmysqlclient.so)
ubuntu18.04.2 LTS 系统关于Qt5.12.3 无法加载mysql驱动,需要重新编译MYSQL数据库驱动的问题以及解决方案

系统版本

rain@rain-virtual-machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy

MySQL 肯定要先安装上, 我安装的是

mysql  Ver 8.0.35-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

然后安装依赖库

sudo apt install libmysqlclient-dev
// 不然找不到 usr/include/mysql 文件

// 或者
sudo apt-get install mysql-client libmysqlclient-dev
// mysql-client是否需要安装我也不是很清楚,后续如果无法进行, 可以安装试试

可通过以下命令定位 libmysqlclient.so 的位置:

 sudo updatedb // 更新ubuntu的文件数据库,it may take a long time
 sudo locate libmysqlclient.so

执行完后一定要能查到 libmysqlclient.so , 否则没必要继续进行操作

rain@rain-virtual-machine:/usr/lib/x86_64-linux-gnu$ locate libmysqlclient.so
/usr/lib/x86_64-linux-gnu/libmysqlclient.so
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.2.35

为了查找到 libmysqlclient.so 我中间试了很多方法, 后来误打误撞执行成功了, 可能是因为执行了 sudo updatedb 或者安装了 mysql-client

下面进行正式的编译

1.首先找到QT的源码目录 , 例如 /home/rain/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql
rain是你当前的用户名, 路径也是根据你自己安装的Qt路径来
版本号(我的是5.15.2)下如果没有 Src 目录, 可以考虑重装 Qt 或者更新下载 Src

2.修改 mysql.pro 文件
Ubuntu 22.04 编译安装 Qt mysql驱动,ubuntu,qt,mysql第 6 行的代码直接注释掉
然后添加两行代码, 这两行代码根据你安装的目录确定

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

例如我的
(1) 执行命令 whereis mysql

rain@rain-virtual-machine:/usr/lib/x86_64-linux-gnu$ whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

可以看到 /usr/include/mysql 路径

(2) 执行命令 locate libmysqlclient.so

rain@rain-virtual-machine:/usr/lib/x86_64-linux-gnu$ locate libmysqlclient.so
/usr/lib/x86_64-linux-gnu/libmysqlclient.so
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.2.35

3.点开 pri 文件, 然后注释掉第 4 行代码即可
Ubuntu 22.04 编译安装 Qt mysql驱动,ubuntu,qt,mysql
4. 在 /home/rain/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql 目录下, 打开终端, 执行如下代码

 /home/rain/Qt/5.15.2/gcc_64/bin/qmake mysql.pro
 // 注意 rain是当前的用户名, 路径也是根据你自己安装的Qt路径来

5.然后mysql源码文件夹里多了个 MakeFile
Ubuntu 22.04 编译安装 Qt mysql驱动,ubuntu,qt,mysql
然后 makemake install

rain@rain-virtual-machine:~/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql$ make Makefile
make: “Makefile”已是最新。

rain@rain-virtual-machine:~/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql$ make install Makefile
输出省略

6.然后就可以在mysql前一个目录(sqldrivers)得到一个 plugins,打开里面的 sqldrivers 有两个文件, 就标志着编译成功了
Ubuntu 22.04 编译安装 Qt mysql驱动,ubuntu,qt,mysql

7.然后将两个文件放入编译器的 /home/rain/Qt/5.15.2/gcc_64/plugins/sqldrivers 中, 大功告成~~

测试程序

pro 里加个 sql 模块文章来源地址https://www.toymoban.com/news/detail-792580.html

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>


qDebug() << QSqlDatabase::drivers();                                     
                                                                         
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");                   
db.setHostName("localhost");                                            
db.setUserName("root");                                                 
db.setPassword("1234");                                                 
db.setPort(3306);                                                       
db.setDatabaseName("mysql");                                             
                                                                        
qDebug() << (db.open() ? "open db success." : "open db failed.");                                      
                                                                         
QSqlQuery cursor;                                                        
                                                                         
QString query = " SELECT user, host FROM user; ";                        
                                                                         
if (cursor.exec(query)) {                                                
    while (cursor.next()) {                                              
        qDebug() << "user: " << cursor.value("user").toString()          
                 << "host: " << cursor.value("host").toString();         
    }                                                                    
}                                                                        

到了这里,关于Ubuntu 22.04 编译安装 Qt mysql驱动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu22.04安装Nvidia显卡驱动

    Ubuntu 22.04安装NVIDIA显卡驱动的一般步骤: 注意:在执行这些步骤之前,请确保系统已连接到互联网,以便下载所需的软件包。 1. 检查NVIDIA显卡型号:打开终端,运行以下命令来确定NVIDIA显卡型号:    这将显示NVIDIA显卡型号,例如GeForce GTX 1050 Ti。 2. 更新系统: 在终端中,

    2024年01月16日
    浏览(68)
  • Ubuntu22.04 安装NVIDIA显卡驱动

    最近在想给自己电脑换成Linux系统的事情,但是过程没想到异常艰难,除了要安装一系列日常用软件和学习环境搭建外,还遇到了安装显卡驱动这个世纪难题[哭][哭],四处搜索度娘,最终还是让我暂时解决(安装成功)了这个难题,[再次感谢互联网各位大佬的扶持],所以,

    2024年02月08日
    浏览(73)
  • Ubuntu22.04安装及显卡驱动问题

    自己有window系统,想搞个ubuntu系统玩玩 首先去官网下载ubuntu系统,我下载的是22.04 https://cn.ubuntu.com/download/desktop 准备一个启动盘制作器Rufus,将下载好的镜像烤制到U盘 制作完u盘,进入bios更改启动顺序进入安装界面。我们进入安装界面,发现点了install ubuntu一直黑屏。这时需

    2024年02月09日
    浏览(50)
  • ubuntu22.04编译安装使用gstreamer指南

    ubuntu发行版22.04,该发行版内置Gstreamer1.20.1,gstreamer源码最新版本为1.20.3,差距不大 下载gstreamer源码 安装git 下载gstreamer 安装meson gstreamer1.60以后(不包含1.60),使用meson+ninja来构建 安装glib gstreamer是基于glib-gobject来实现的 安装libsoup 安装libunwind 安装libdw 安装g-ir-scanner 系统中

    2024年02月05日
    浏览(73)
  • Ubuntu20.04、22.04安装nvidia显卡驱动

    资料1 https://huazhe1995.github.io/2020/01/01/ubuntu-an-zhuang-nvidia-qu-dong-run-fang-shi/ 资料2 https://blog.csdn.net/qq_51963216/article/details/124194096 资料3 https://blog.csdn.net/Perfect886/article/details/119109380 步骤: 1 1.安装驱动前一定要更新软件列表和安装必要软件、依赖(必须) 2.查看GPU型号 (你自己知道

    2024年02月06日
    浏览(87)
  • ubuntu 22.04 安装 RTX 4090 显卡驱动

    1. 官网下载4090: 驱动程序 2. 关闭图形界面 对应的打开图形界面命令为: 3. tty登录之后 安装新版驱动: 如果报错,信息如下: ERROR: An NVIDIA kernel module \\\'nvidia-drm\\\' appears to already be loaded in your kernel.  This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA      

    2024年02月05日
    浏览(74)
  • Ubuntu22.04安装NVIDIA驱动2022.12.25

    lspci | grep -i nvidia 在官网中选择合适自己的显卡下载对应驱动 下载地址 需要安装 g++ gcc make三个依赖包 在安装g++时遇到错误 :you do not appear to have libc header files install on your system 解决: 如果遇到: 下列软件包有未满足的依赖关系: libc6-dev : 依赖: libc6 (= 2.27-3ubuntu1.6) 但是 2.

    2024年02月04日
    浏览(49)
  • Ubuntu22.04 系统 安装驱动 && CUDA11.8

    参考: https://blog.csdn.net/weixin_43387635/article/details/126749463 Ubuntu22.04安装显卡驱动(高速、避错版)-CSDN博客 -------------------------------------------------安装驱动-------------------------------------------------------------------- 原作者说 需要注意的两条 ①   安装之前进入主板BIOS,关闭安全启动!!

    2024年03月27日
    浏览(68)
  • Ubuntu 22.04 安装MySql

    MySQL是非常常用的关系型数据库,无论是大厂还是小厂,都有它的身影。最大的优点是免费,安装起来也比较简单。 画了个简图,描述了下MySQL的架构。 其中的比较有趣的点在于 连接池 和 存储引擎 。 连接池 缓存了数据库和客户端的 TCP连接 ,以减少建立连接的开销。 存储

    2024年01月21日
    浏览(56)
  • Ubuntu20.04与22.04 openssl与openssl编译安装

    操作系统openssl版本查看: 推荐根据操作系统默认版本下载对应修复版本 ubuntu20.04 openssl版本:OpenSSL 1.1.1f ubuntu22.04 openssl版本:OpenSSL 3.0.2 首先,使用 wget 命令下载 OpenSSL 的源代码压缩包。从 OpenSSL 官方网站上找到最新版本的源代码。 如下以ubuntu20.04示例: 解压源代码 使用

    2024年02月06日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包