安康网站建设公司报价,杭州建设网站免费,做网站3年,asp网站管理系统源码参考自 Ubuntu20.04.3 QT5.15.2 MySQL驱动编译 Ubuntu 18.04 编译安装 Qt mysql驱动 下边这篇博客不是主要参考的, 但是似乎解决了我的难题(找不到 libmysqlclient.so) ubuntu18.04.2 LTS 系统关于Qt5.12.3 无法加载mysql驱动#xff0c;需要重新编译MYSQL数据库驱动的问题以…参考自 Ubuntu20.04.3 QT5.15.2 MySQL驱动编译 Ubuntu 18.04 编译安装 Qt mysql驱动 下边这篇博客不是主要参考的, 但是似乎解决了我的难题(找不到 libmysqlclient.so) ubuntu18.04.2 LTS 系统关于Qt5.12.3 无法加载mysql驱动需要重新编译MYSQL数据库驱动的问题以及解决方案
系统版本
rainrain-virtual-machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammyMySQL 肯定要先安装上, 我安装的是
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 timesudo locate libmysqlclient.so执行完后一定要能查到 libmysqlclient.so , 否则没必要继续进行操作
rainrain-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 文件 第 6 行的代码直接注释掉 然后添加两行代码, 这两行代码根据你安装的目录确定
INCLUDEPATH /usr/include/mysql
LIBS -L/usr/lib/x86_64-linux-gnu -lmysqlclient例如我的 (1) 执行命令 whereis mysql
rainrain-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
rainrain-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.353.点开 pri 文件, 然后注释掉第 4 行代码即可 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 然后 make 和 make install
rainrain-virtual-machine:~/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql$ make Makefile
make: “Makefile”已是最新。rainrain-virtual-machine:~/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/mysql$ make install Makefile
输出省略6.然后就可以在mysql前一个目录(sqldrivers)得到一个 plugins打开里面的 sqldrivers 有两个文件, 就标志着编译成功了
7.然后将两个文件放入编译器的 /home/rain/Qt/5.15.2/gcc_64/plugins/sqldrivers 中, 大功告成~~
测试程序
pro 里加个 sql 模块
#include QSqlDatabase
#include QSqlQuery
#include QDebugqDebug() 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(); }
}