Qt5.3.1 ubuntu14.0464bit QSqlDatabase: QMYSQL driver not loaded的解决方案 real solution

1.现象

在连接数据库的时候出现
./hello-pc
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

2.趟过的坑

ldd 查看plugins 下的动态库

/gcc_64/plugins/sqldrivers$ ldd libqsqlmysql.so
libmysqlclient_r.so.16 => not found

于是开始百度 发现有的说

libmysqlclient_r.so.16 复制一下 变成 libmysqlclient_r.so.18 亦或 ln -s 

然并卵

还折腾过装过不计其数的pakage

my times

3.真正有效的解决方案

在安装Qt的时候请全部选择安装

/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers$ ls
db2  ibase  mysql  oci  odbc  psql  qsqldriverbase.pri  README  sqldrivers.pro  sqlite  sqlite2  tds
pc@pc:/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers$ cd mysql/
pc@pc:/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers/mysql$ ls
main.cpp  mysql.json  mysql.pro  README
pc@pc:/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers/mysql$ qmake
pc@pc:/opt/Qt5.3.1/5.3/Src/qtbase/src/plugins/sqldrivers/mysql$ make
************************************************
g++ -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/opt/Qt5.3.1/5.3/gcc_64 -Wl,-rpath,/opt/Qt5.3.1/5.3/gcc_64 -Wl,-rpath,/opt/Qt5.3.1/5.3/gcc_64/lib -shared -o libqsqlmysql.so .obj/main.o .obj/qsql_mysql.o .obj/moc_qsql_mysql_p.o  -Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient_r -L/opt/Qt5.3.1/5.3/gcc_64/lib -lQt5Sql -lQt5Core -lpthread  
mv -f libqsqlmysql.so ../../../../plugins/sqldrivers/ 

把生成的 libqsqlmysql.so拷贝到 /opt/Qt5.3.1/5.3/gcc_64/plugins/sqldrivers/目录下

$
$cp libqsqlmysql.so /opt/Qt5.3.1/5.3/gcc_64/plugins/sqldrivers/

$运行程序 OK

3qu,have any q please call me
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值