Qt 操作数据库报错:QSqlDatabase: QSQLITE driver not loaded
在解决了Clion + Qt的数据库问题后《》,又遇到了新的问题,在运行程序时,出现QSqlDatabase: QSQLITE driver not loaded错误
使用下面语句输出支持的数据库,会输出空
qDebug() << "sql drivers" << QSqlDatabase::drivers();
最后发现,在添加了Sql模块后,是不够的,还需要将相关动态链接库拷贝到应用程序运行路径下。
解决方案
首先,去Qt的安装路径下,进入plugins文件夹 我的Qt plugins路径
E:QtQt5.14.25.14.2mingw73_64plugins
找到sqldrivers文件夹,直接把这个文件夹拷贝到可执行程序的路径下。不是在工程目录下,(当然,不同环境可能也有差异)比如我这里使用的是Clion编写的Qt程序,路径就是cmake-build-debug下 再次运行,那条语句就会输出(因为我只保留了qsqlite.dll文件)
注意
虽然上述已经说过了,但自己也测试过,单独把qsqlite.dll动态库文件拷贝到程序根路径是不行的,必须在sqldrivers文件夹下。