qt qmysql driver not loaded怎么解决

2024-11-03 19:22:57
推荐回答(2个)
回答1:

  1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()
  2.将以前编译的mysql驱动程序拷入qt文件夹位置放错.
  3.你的程序写错了.
  4."driver not loaded" 是由query.lastError().text()抛出的错误.
  5.gcc版本不一样(本机和目标机).
  既然知道原因了,解决起来也就非常轻松了.
  1.重新安装qt,重新安装mysql驱动
  2和3的解决方法我就没有什么好说的了.
  4. 说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一 个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.
  5.同步gcc版本咯..
  首先,运行如下测试代码:
  //don't forget about QT+= sql
  qDebug() << QSqlDatabase::drivers();
  QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) );
  qDebug() << db.lastError();

回答2:

linux下,当你要用Qt编写的程序移植到其他没有安装Qt的环境的时候,你就要把响应的动态库拷过去。
在终端启动程序起来了后,但是出现了如下问题:

出现这问题,说明数据库驱动没有正常加载成功。解决方法:
1、新建一个文件夹名为:plugins
2、在开发Qt程序的机子上找到Qt库所在目录找到plugins目录,并把sqldrivers文件夹拷贝到步骤1新建的plugins文件夹
3、在开发程序的主函数(main)中, 在QApplication app(argc, argv)前面添加一句:QApplication::addLibraryPath("./plugins") 注:括号内为新建plugins的所在目录。
4、重新编译程序 。 拷贝时 只要把plugins放在你编译时设置的目录就行。
4
通过以上的几个步骤,你的程序就能正常加载到数据库驱动,程序也能正常运作了。