gpt4 book ai didi

c++ - 虚拟机运行Qt程序报错 "QSQLITE driver not loaded"

转载 作者:行者123 更新时间:2023-11-30 04:01:27 27 4
gpt4 key购买 nike

我有一个 Qt4 程序,它只打开一个 Qt 数据库:

QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(fileName);
if (!db.open()) {
qDebug() << db.lastError().text();
}

我从资源管理器运行程序,在目录中我只有 exe 和它需要的 DLL:Test.exeQtCore4.dllQtSql4.dllQtGui4.dll

相同的 exe 和 DLL 在我自己的计算机上执行时可以正常工作,但在虚拟机中执行时会失败并出现以下错误:

[2784] QSqlDatabase: QSQLITE driver not loaded
[2784] QSqlDatabase: available drivers:

db.lastError().text() 返回“Driver not loaded Driver not loaded”(是的,它重复了两次)。

为什么它可以在我的电脑上运行?如果缺少依赖项,我假设它在我自己的计算机上也会失败,因为它只在自己的目录中查找它需要的所有 DLL。显然有一个它在我的计算机上找到的依赖项,但在虚拟机上没有找到,并且它必须在其他地方寻找它(不仅仅是在 exe 所在的目录中)。

最佳答案

您还应该将 qsqlite4.dll 放在可执行文件旁边的名为 sqldrivers 的目录中。

关于c++ - 虚拟机运行Qt程序报错 "QSQLITE driver not loaded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25721726/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com