fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题
2017-01-18 00:21
986 查看
QT += sql //在.pro文件里加入这一句
//包含头文件
#include <QDebug>
#include <QSqlQuery>
#include <QSqlDatabase>
//连接数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("mydb");
db.setUserName("root");
db.setPassword("123456");
bool ok = db.open();
if(!ok)
{
qDebug()<<"open db fail";
return;
}
//将数据表中的内容全部列出
QSqlQuery query;
query.exec("SELECT * FROM tb_A2");
while(query.next())
{
qDebug()<<query.value(0).toString()<<query.value(1).toString();
}
如上,我编写了一个简单的测试数据库连接的程序,运行时出现了下面的错误提示:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
在Qt5.2.1中明明已经有MySQL的驱动QMYSQL,为什么还是无法加载呢?
去google了一把,网上大多数是windows下和Qt4.x版本的,还好最终还是解决了,现在稍微记录解决过程下。
//Qt的安装路径
#cd /opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers/
#ls
libqsqlite.so libqsqlmysql.so libqsqlpsql.so
#ldd libqsqlmysql.so
这里就会发现:
libmysqlclient_r.so.16 =>not found
怎么解决呢?
//mysql 安装库路径
#cd /usr/lib/mysql/
#ls
INFO_BIN libmysqlclient.so.18 mysqlbug
INFO_SRC libmysqlclient.so.18.0.0 mysql_config
libmysqlclient.so.18.0.0.bak plugin
#cplibmysqlclient.so.18.0.0 libmysqlclient_r.so.16
#mvlibmysqlclient_r.so.16 /lib/
#cd /opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers/
#ldd libqsqlmysql.so
看看libmysqlclient_r.so.16是否还是not found
如果出现
libmysqlclient_r.so.16 => /lib/libmysqlclient_r.so.16
则说明已经成功了。如果还不行,再试着创建一软连接看看,
# pwd
/opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers
#ln -s /lib/libmysqlclient_r.so.16 ./libmysqlclient_r.so.16
Good luck !
相关文章推荐
- fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题
- windows系统下解决Qt连接MySQL数据库时出现的问题:QMYSQL driver not loaded
- ubuntu10.04 Qt5.2.1链接mysql出现QMYSQL driver not loaded的问题!!!!
- Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded
- Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded
- 关于Qt开发MySQL程序移植后出现"Driver not loaded"的问题
- Qt5.2.1中解决QSqlDatabase:QMySQL driver not loaded
- Qt出现“QSqlDatabase: QMYSQL driver not loaded”和“启动程序失败,路径或者权限错误”解决方法
- Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法
- 解决QT5.2及以上版本连接mysql提示QMYSQL driver not download 问题
- Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法
- Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded
- QT连接mysql数据库报错——QSqlDatabase: QMYSQL driver not loaded
- 关于MySql在调试过程中出现Driver not loaded Driver not loaded的问题的解决办法
- Qt5.4连接mysql出现QSqlDatabase: QMYSQL driver not loaded
- Qt 连接到MySQL/解决QSqlDatabase: QMYSQL driver not loaded
- Ubuntu16.04 QT "QMYSQL driver not loaded on Ubuntu"问题
- Qt与MySQL连接,drivers not loaded问题
- mysql连接linux系统提示“登录出现1130 is not allowed to connect to this MySql server”问题的解决方法
- IDEA连接mysql教程,以及出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的解决办法