记录日期:2020-02-16
问题反馈:
在linux系统之下,使用QT编程,在链接MYSQL时,出现了驱动未找到(driver not loaded)的情况,我是使用的QT5.13.2版本。但是如果遇到其他的版本的话,解决方法也是这样。网上所有的资料都不怎么详细,并且感觉流程有点混乱。下面我把步骤发出来,供大家参考。
首先主要是要编译libqsqlmysql.so
1、下载QT5.13.2(无需下载源码,直接下载安装包就行。)大家可以在QT官网下载。
以下提供QT5.13.2所需要的文档,供下载。只需要安装包,其他的是方便你们用到的
(需要)QT5.13.2安装包(qt-opensource-linux-x64-5.13.2.run):链接: https://pan.baidu.com/s/1HggB7becdWc2__5e2PlDSA 提取码: wamp
(不需要下载)QT5.13.2源码包(qt-everywhere-src-5.13.2.tar.xz):链接: https://pan.baidu.com/s/1ykyOSB8Ch7SiLCHJbS2qOg 提取码: uc6x
(不需要下载)链接数据库工具(navicat15-mysql-cs.AppImage):链接: https://pan.baidu.com/s/1-ceWZiFqZ4f9aCPd_mVR_Q 提取码: wf4w
(需要)MYSQL数据库(libmysqlclient18_5.6.25-0ubuntu1_amd64):链接:链接: https://pan.baidu.com/s/1GBS6f8ei6XX6_PSIeAUdIQ 提取码: uhpz
关于数据库的安装方法
步骤:
(A)Ubuntu安装比较简单
sudo apt-get install mysql-server
提示继续执行输入Y
(B)等待提示设置密码,此密码是以后登录数据库的密码
(C)重复上一步设置的密码
(D)sudo apt-get install mysql-client
(E)sudo apt-get install libmysqlclient-dev
输入Y继续执行,等待安装成功
2、安装QT5.13.2
1、首先刚才下载的QT,放在的路径在哪个位置。一般通用位置在Home路径下,在ubuntu下,双击安装时,可能会提示如下问题:
bash: ./qt-opensource-linux-x64-5.13.2.run: Permission denied
这是表示没有权限打开。此时只需要执行脚本:chmod +x ./qt-opensource-linux-x64-5.13.2.run 给他权限即可。
打个比方:我的文件放在Install下,我CD进入到Install后,我的QT5.13.2安装文件就在此目录下。此时执行
./qt-opensource-linux-x64-5.13.2.run
上面的脚本就可以安装了。
好,QT安装步骤下一步就行,此时可能需要你去注册QT的账号,到官网上注册一下就可以了。
注意:在安装的时候,请大家记得安装的路径,因为这个以后很重要:比如我安装的路径在home/robot下的Qt5.13.2目录下,那么我在编译MYSQL的时候,需要用到这个路径。
一下按照我的步骤来:
1、进入到
(1)cd /Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/mysql
(2)vim mysql.pro
(3) 在mysql.pro中找到 QMAKE_USE += mysql 将这行注释:#QMAKE_USE += mysql
(4)按Esc 输入:wq! 退出
(5)如果此时编译,肯定会提示:qtsqldrivers-config.pri not found
(6)不要急,退回到上一层目录中cd /Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/
(7) vim qsqldriverbase.pri 修改内容如下:
把原来的 include($ $ shadowed ($ $ PWD)/qtsqldrivers-config.pri)
修改为include($ $ shadowed ($ $ PWD)/configure.pri)
(8)再次进入到cd /Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/mysql
执行一下脚本:
/home/robot/Qt5.13.2/5.13.2/gcc_64/bin/qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient" mysql.pro
注意:(/home/robot/Qt5.13.2)前面的路径一定是你QT安装的路径,我这里是我的路径,你把他修改成你的路径即可。
(9)全部执行完成后,大家可以放心的执行
make
make install
了。此时在QT的路径下(/home/robot/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers)生成了一个libqsqlmysql.so.debug。因为我是debug下编译的,所以生成这样子。
(10)在你的QT工程上【XXX.pro】上添加QT += sql
一切OK,问题解决不易。喷子勿扰!有问题留言!