Ubuntu16.04 QT环境下出现提示:"QMYSQL driver not loaded on Ubuntu"。
网上找了好久,试了好多都不行,最后解决办法在:
我依照第二个答主的办法成功了。
原文:
Assuming that for getting this error you installed Qt from the binary packages downloaded from qt.io:
Install the MySQL client dev packages
Run the MaintenanceTool (somewhere where you installed Qt)
Ask it to install extra packages
Install the "Source Components" for at least the Essential modules
Go to /dir/where/you/installed/Qt/version/Source/
Go into qtbase/src/plugins/sqldrivers/mysql
Run qmake from the very same Qt version (/dir/where/you/installed/Qt/version/arch/bin/qmake or similar)
Run make, if it explodes with headers/libraries not found check that you installed those MySQL client dev packages correctly
That should give you a brand new plugin, and with fingers crossed, it's already put in the right place. Otherwise find the new libqsqlmysql.so, ldd it to be sure it was OK, and overwrite the old plugin with the new one.
翻译一下:
1.安装 mysql client dev 这个包可以通过
sudo apt-get install libmysqlclient-dev
安装。
2.安装QT,安装的时候选择组件选择所有组件,如果已经安装完成,可以使用安装目录下的 "MaintenanceTool" 文件来添加组件,不过这个离线版的安装包好像有BUG,不能添加,最后我删除重装QT。
3.切换至 [QT安装目录]/[version]/Src/qtbase/src/plugins/sqldrivers/mysql 目录下
4.运行qmake命令,编译mysql.pro 即
qmake mysql.pro
如果qmake没有添加到环境变量,则使用qmake的完整路径( [QT安装目录]/[version]/gcc_64/bin/qmake)。
5.运行make,运行成功的最后一行应该是"mv -f libqsqlmysql.so ../../../../plugins/sqldrivers/"
6.到上面那个目录下找到 libqsqlmysql.so 文件拷贝到 [QT安装目录]/[version]/gcc_64/plugins/sqldrivers下覆盖旧的文件。