ubuntu 18.04 qt 使用mysql 数据库

linux qt 使用mysql 数据库

问题:

使用qt连接数据库时,总是报如下错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QPSQL QPSQL7

解决方法:

一.版本

ubuntu 18.04 , Mysql 8.0.21 , qt5.12.9

二.步骤

1.安装各种包
sudo apt update
sudo apt-get install libglu1-mesa-dev
sudo apt-get install build-essential
sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev

2.(qt安装时记得要安装源码“Sources”)进入qt源码目录:/home/vxlink/Qt/5.12.9/Src/qtbase/src/plugins/sqldrivers/mysql/ 。修改mysql.pro,如下图所示。
ubuntu 18.04 qt 使用mysql 数据库_第1张图片
3.执行qmake生成makefile
指令为:sudo /home/vxlink/Qt/5.12.9/gcc_64/bin/qmake “INCLUDEPATH+=/usr/include/mysql” “LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient” mysql.pro
指令批注如下:
在这里插入图片描述
可以通过指令 whereis 查找mysql.h和 mysqlclient.so的路径。
ubuntu 18.04 qt 使用mysql 数据库_第2张图片
如果找不到,参考步骤1,安装各种库

4.sudo make
5.sudo make install
如下图所示,成功编译出了库
ubuntu 18.04 qt 使用mysql 数据库_第3张图片
6.成功啦,qt可以连接mysql数据库啦!写代码测试ok,记得在pro文件加上QT += sql
ubuntu 18.04 qt 使用mysql 数据库_第4张图片

三.挖坑经历

1.网上查找了资源,发现方法都大同小异,但是按照网友的方法,就是不能编译通过,反正各种坑。后面发现找对版本很重要!我原来用的是qt 5.12.1,按照我上面写的步骤,qmake时可以通过,但是第4步make时,就报各种错了
添加链接描述ubuntu 18.04 qt 使用mysql 数据库_第5张图片
后来重新安装了版本qt5.12.9,就没有问题了。
2.另外,试了一下,qt5.12.9编出来的库,放在qt5.12.1环境下,是不能用的直接报错“版本不兼容”。

参考资料
Qt5.12版本编译MySQL驱动
linux qt 5.12.6 编译mysql驱动
Linux平台下解决Qt5连接mysql数据库的问题

你可能感兴趣的:(Qt,linux)