ubuntu qt编译安装mysql驱动

Ubuntu下Qt编译安装MySQL驱动教程

一、环境

ubuntu 20.04.6 LTS

mysql 8 

Qt5.14.2

二、环境搭建

1.安装MySQL服务器

若没有安装MySQL服务器,可以参考以下文章安装MySQL服务器:

Ubuntu 20.04.6 LTS 在线安装 MySQL-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_68442019/article/details/145109018?spm=1001.2014.3001.55022.安装MySQL 客户端开发库

 sudo apt install libmysqlclient-dev

.Ubuntu20.04.6 Qt5.14.2 编译MySQL驱动

3.安装QT

若没有安装QT,可以参考以下文章安装:

Ubuntu20.04.6 安装Qt5.14.2并初步配置开发环境-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_68442019/article/details/145115738?spm=1001.2014.3001.5502

二、编译MySQL驱动

1.编译MySQL驱动的源码下载

我们编译MySQL驱动需要在安装Qt时勾选了Sources源码

如果没有勾选,我们参考以下文章去添加源码组件:

ubuntu20.04.6 下 Qt5.14.2 增加或移除组件-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_68442019/article/details/145129944?sharetype=blogdetail&sharerId=145129944&sharerefer=PC&sharesource=weixin_68442019&spm=1011.2480.3001.81182.修改编译MySQL驱动的源码

找到QT的源码目录,参考路径:

 /home/userlpe/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql

可以通过qt creator 打开目录下的mysql.pro工程,然后修改源码中的pro文件

通过以下命令,找到mysql文件夹中相应的lib子文件夹路径和include子文件夹路径

whereis mysql

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

 将以上的代码复制到pro文件的最后(路径修改为自己的)

同时将QMAKE_USE += mysql注释掉,在前面加上#

ctr+s 保存修改

将qsqldriverbase.pri 中的include(shadowed(PWD)/qtsqldrivers-config.pri)注释掉,加上#

ctr+s 保存修改

然后直接关闭项目,我们用qmke来编译

找到自己的qmake 所在路径,参考:

/home/userlpe/Qt5.14.2/5.14.2/gcc_64/bin/qmake

然后,在mysql.pro目录下打开命令行窗口执行以下命令:

/home/userlpe/Qt5.14.2/5.14.2/gcc_64/bin/qmake mysql.pro

 如果将qt的编译器的路径写入到ubuntu系统的环境中,直接使用qmake即可,可以不用绝对路径,参考下面文章最后的配置环境:

Ubuntu20.04.6 安装Qt5.14.2并初步配置开发环境-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_68442019/article/details/145115738?spm=1001.2014.3001.5502

然后执行make 和make install

make 
make install

MySQL驱动应该安装完成了,我们来检查一下:

找到编译器的文件夹,参考路径: /home/userlpe/Qt5.14.2/5.14.2/gcc_64/plugins/sqldrivers(去到自己的路径)

查看是否有mysql相关的动态库文件,如果没有,需要手动添加,根据下面的提示,找到文件夹中的所有动态库文件放到刚才提到的编译器文件夹中。

找到mysql.pro所在目录的前一个目录下的plugins/sqldrivers文件夹,里面会有mysql的动态库文件:

至此,MySQL驱动编译安装完成啦!!!

### 重新编译 QTMySQL 驱动程序 要在 Ubuntu 系统中重新编译 QTMySQL 驱动程序,可以遵循以下方法: #### 准备工作 确保系统已安装必要的依赖项。这包括 MySQL 客户端开发库 `libmysqlclient-dev` 或者 MariaDB 开发库 `libmariadbclient-dev`[^2]。 运行以下命令来更新软件包并安装所需的工具和库: ```bash sudo apt-get update sudo apt-get install build-essential libmysqlclient-dev ``` 如果使用的是 MariaDB,则替换为: ```bash sudo apt-get install libmariadbclient-dev ``` #### 获取源码 进入 QT 源码目录中的插件部分。通常位于 `$QT_DIR/src/plugins/sqldrivers/` 中。如果没有完整的 QT 源码,可以从官网下载对应版本的源代码[^3]。 假设已经安装QT 并知道路径,执行如下操作: ```bash cd $QT_DIR/src/plugins/sqldrivers/ ``` #### 创建构建环境 创建一个新的临时目录用于构建驱动程序,并复制必要文件到该目录: ```bash mkdir /tmp/qt-mysql-build cd /tmp/qt-mysql-build $QT_DIR/bin/qmake "$QT_DIR/src/plugins/sqldrivers/" \ "INCLUDEPATH+=/usr/include/mysql" \ "LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient" ``` 上述命令指定了 MySQL 头文件位置 `/usr/include/mysql` 和链接库位置 `/usr/lib/x86_64-linux-gnu/`[^5]。 #### 构建与安装 完成配置后,继续进行实际的编译过程: ```bash make sudo make install ``` 此步骤会生成 QMYSQL 插件并将它放置到适当的位置以便 QT 能够识别。 --- ### 常见问题处理 1. **找不到 `libmysqlclient.so`** 如果遇到缺少动态链接库的情况,可能是因为未正确安装客户端库或其路径不在默认搜索范围内。通过安装 `libmysqlclient-dev` 可以解决这个问题[^1]。 2. **qmake 报错** 当 qmake 找不到指定的头文件或库时,需确认 `INCLUDEPATH` 和 `LIBS` 参数设置无误。例如,某些系统可能会将库命名为 `-lmysqlclient_r`,此时应调整 LIBS 设置为匹配的实际名称。 --- ### 测试新驱动 为了验证新的 QMYSQL 驱动是否成功加载,在终端输入以下命令查看可用 SQL 驱动列表: ```bash $QT_DIR/bin/sqltest ``` 或者编写简单的测试应用程序尝试连接 MySQL 数据库。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值