我正在尝试为我的类的所有实例实现一个viewDidLoad
实例。
QSqlDatabase
但是此代码在发布模式下似乎不起作用:
QSqlDatabase:加载驱动程序插件需要QCoreApplication实例
Screen (error)
我已经使用 windeployqt.exe 构建了独立的发行版。
这在Debug中行得通,因为sqldriver直接从Qt目录加载。当我试图将其发布时,这没有任何意义。
答案 0 :(得分:0)
QSqlDatabase:加载驱动程序插件需要QCoreApplication实例
因此,您不允许在全局级别加载sql
插件。只是不要尝试使其成为“类内静态”,而是使其成为“类内静态方法”,就像典型的单例模式一样。
class MyClass
{
static QSqlDatabase& get_db();
};
QSqlDatabase& MyClass::get_db()
{
static QSqlDatabase db;
if (!db.isValid())
db = QSqlDatabase::addDatabase("QSQLITE");
return db;
}