我使用sqlite编写了一个程序但是当我运行它时似乎没有sqlite支持
以下是QT创建者提供的信息: QSqlDatabase:未加载QSQLITE驱动程序 QSqlDatabase:可用的驱动程序:
没有可用的驱动程序!但是在C:\ Qt \ 2010.05 \ qt \ plugins \ sqldrivers目录中有sqlite4.dll,sqlodbc4.dll,为什么程序无法检测到驱动程序在哪里?我应该使用-qt-sql-sqlite选项重新编译Qt4.7吗?这似乎是最后一个非常耗时的决议。有什么建议?提前谢谢。
答案 0 :(得分:2)
如果您没有在启用sql的情况下编译qt,那么sql将无效。我建议你这样做,即使这可能是耗时的。如果你需要它,这是最好的方法。
答案 1 :(得分:2)
您需要将qsqlite4.dll
文件放在sqldrivers
文件夹
答案 2 :(得分:1)
你在建立什么模式 - 调试或发布?如果你在调试模式下构建,那么你需要调试版本的SQLite插件,名为sqlite * d * 4.dll而不是sqlite4.dll。
您可以通过设置环境变量QT_DEBUG_PLUGINS=1
来启用一些有用的调试信息。如果你这样做,你会得到这样的东西
QFactoryLoader::QFactoryLoader() looking at "C:/Qt/4.7.0-mingw/plugins/sqldrivers/qsqlite4.dll"
In C:/Qt/4.7.0-mingw/plugins/sqldrivers/qsqlite4.dll:
Plugin uses incompatible Qt library
expected build key "Windows mingw debug full-config", got "Windows mingw release full-config"
你知道你需要调试版本的插件。
此外,如果在原始插件文件夹(您在问题中提供的插件)中找到插件时遇到问题,您可以在应用程序的文件夹中创建sqldrivers
文件夹并复制sqlite*.dll
个插件那里。
答案 3 :(得分:1)
这可能就像忘记在开场调用中指定驱动程序一样简单:
QSqlDatabase::addDatabase("QSQLITE")