1. QT       += sql //在.pro文件里加入这一句
  2. //包含头文件
  3. #include <QDebug>
  4. #include <QSqlQuery>
  5. #include <QSqlDatabase>
  6. //连接数据库
  7. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  8. db.setHostName("localhost");
  9. db.setDatabaseName("mydb");
  10. db.setUserName("root");
  11. db.setPassword("123456");
  12. bool ok = db.open();
  13. if(!ok)
  14. {
  15. qDebug()<<"open db fail";
  16. return;
  17. }
  18. //将数据表中的内容全部列出
  19. QSqlQuery query;
  20. query.exec("SELECT * FROM tb_A2");
  21. while(query.next())
  22. {
  23. qDebug()<<query.value(0).toString()<<query.value(1).toString();
  24. }

如上,我编写了一个简单的测试数据库连接的程序,运行时出现了下面的错误提示:

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 !

最新文章

  1. webuploader在IE8/9下上传遇到的两个问题
  2. PHP生成器Generators
  3. Metasploit更新
  4. Go cron定时任务的用法
  5. ZOJ-2562 More Divisors 反素数
  6. jQuery 请指出&#39;$&#39;和&#39;$.fn&#39;的区别?或者说出&#39;$.fn&#39;的用途。
  7. ChesFrame框架介绍
  8. AngularJS html5Mode 使用 SVG Marker失效
  9. 如何写一个SSH项目(三)如何进行交互的
  10. unity3D 知识点随手记
  11. 修改vim的颜色主题 及显示行号
  12. dpkg: 处理软件包 qjackctl (--configure)时出错解决方法
  13. error: js/dist/app.js from UglifyJs Unexpected token: name (Dom7)
  14. Beta阶段——第5篇 Scrum 冲刺博客
  15. Qt中窗口退出事件
  16. ubuntu下sublime Text3配置C++编译环境
  17. ios 关于屏幕旋转和屏幕晃动
  18. ARC下带CF前缀的类型与OC类型转换
  19. winform 程序调用及参数调用
  20. Intel 和AT&amp;T 语法

热门文章

  1. C++11下的关键字
  2. 数论+乱搞——cf181B
  3. ac自动机fail树上按询问建立上跳指针——cf963D
  4. 提高ASP.NET首页性能的方法
  5. 牛客网暑期ACM多校训练营(第五场) Agpa (最大化平均值)
  6. 使用Netfilter进行数据包分析
  7. JAVA 字符串索引
  8. XStream环境设置
  9. Ubuntu12.04开机自动挂载windows分区
  10. Day 18 :面向对象[基础,继承,组合]类的增删改查