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