1.环境
(1)已经安装了sqlite;
(2)qt-opensource-windows-x86-msvc2010_opengl-5.4.0.exe;
(3)使用vs2010来开发。
2.现象
若加入如下代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("scooters.dat");
if (!db.open()) {
QMessageBox::warning(0,QObject::tr("DatabaseError"),
db.lastError().text());
returnfalse;
}
return true;
结果:编译通过,运行时报错如下:
3.解决方法
以下以release为例
(1)去掉Qt5Core.dll即可;(不可取)
(2)在Qt安装路径下找到Qt5Sql.dll和sqldrivers文件夹,添加到运行路径下即可,如图2所示
图2
sqldrivers中的文件如下图所示:
4.说明
为了使得在开发机器(没有安装vs2010、Qt等)上运行,需要图2中那么多依赖文件且必须有,故方法一不可取