Qt版本5.15.2,系统ubuntu18.04; mysql版本5.73
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
问题描述:网上很多教程都说是mysql驱动安装问题,只要把/usr/lib/x86_64-liniux-gnu/libqsqlmysql.so 文件拷贝到 /home/feather/Qt/5.15.2/gcc_64/plugins/sqldrivers目录下,并添加执行权限(sudo chmod +x libqsqlmysql.so);然后再在工程*.pro文件下添加LIBS库。发现运行代码依然没有用。当然前提安装好了mysql-server,至于libqt4-mysqlkey不用安装,因为后面我们编译源码
解决办法:
编译源码生成新的驱动库文件
step1:确保安装qt时安装了源码,如果没有安装源码,也不必卸载掉已经安装了的qt,我们只需要添加组件即可。 找到我们安装Qt目录下的 MaintenanceTool文件,并双击或者终端运行它,当然你需要在Qt官网注册一个用户,我想在安装Qt之前你已经做过了。
点击下一步需要你更新组件后才能添加新的组件,那我们选择update components选项进行更新。接下来我们选择对应版本的源代码。
我的Qt版本时5.15.2所以我选择了Qt5.15.2下面的source。 完成之后我们就会在Qt安装目录下的5.15.2目录下多出来一个Src目录,网上很多教程都是说拷贝Src目录下的mysql文件夹,拿出来编译。他们还贴出了各种修改的办法,去编译,我不建议这样做,我的建议是直接拷贝整个qtbase目录拿出来编译,因为单独编译mysql子工程,会有很多依赖其他目录里面文件,而且他们提出的修改等解决办法不一定适应你的qt版本,Qt版本在更新,文件组成结构会有变化,因此没有固定的修改方案,与其修改这儿修改那儿,还不如干脆利落的拷贝整个qtbase目录出来编译。
拷贝出来后,进入到整个目录,打开终端:运行
./configure
弹出这个窗口让我们选择,我们当然选择开源版本 输入‘o’然后输入‘y’ yes下去
Creating qmake...
.Done.
Selecting Qt Edition.
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
Which edition of Qt do you want to use?
完成后我们会看到以下输出,我们会看大MySql一栏为yes
Qt Sql:
SQL item models ........................ yes
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... no
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. yes
OCI (Oracle) ........................... no
ODBC ................................... yes
PostgreSQL ............................. yes
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
Qt Testlib:
Tester for item models ................. yes
Note: Also available for Linux: linux-clang linux-icc
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/usr/local/Qt-5.15.2'.
Prior to reconfiguration, make sure you remove any leftovers from
然后我们输入make 编译工程,编译完成之后我们会在qtbase目录下多出plugins目录,里面就有我们需要的库文件,把他拷贝到/home/feather/Qt/5.15.2/gcc_64/plugins/sqldrivers目录下,当然注意修改为你的目录,
大功告成!!!!!!!!!!!