QSqlDatabase:驱动程序未加载驱动程序未加载

问题描述 投票:0回答:3

我使用qt开发了一个c++库。在本教程中,我使用 QSqlDatabase 从 SQLite 数据库查询信息。注意:我的库在 qt 桌面应用程序中运行良好(我正在 Linux 上开发)。

现在我的下一步是在 android studio 项目中使用我的库。为此,我使用 android ndk 编译了我的库(此步骤工作正常),但得到了 QSqlDatabase : 驱动程序未加载 驱动程序未加载。

当我调用 m_database.setDatabaseName(/Database.db); 时出现此错误

感谢您的反馈

android qt android-studio qsqldatabase
3个回答
3
投票

错误消息说明了一切:驱动程序未加载。

在您的情况下,未加载 SQLite 数据库驱动程序。

这可能是因为:

  • 你没有编译SQLite Qt驱动程序
  • SQLite Qt 驱动程序已编译,但未部署
  • SQLite Qt 驱动程序已部署,但 Qt 未找到

看看这里的“故障排除”部分:http://doc.qt.io/qt-5/sql-driver.html

我不是 Android 专业人士,但可以轻松找到文档 :

在这些页面中搜索“sql”和“deploy”


1
投票

我终于解决了我的问题。 Qt 在 apk 的树文件夹中找不到驱动程序(一旦部署在设备上)

看看这篇文章:Android Eclipse 项目中的 Qt C++ 库:QSQLITE 驱动程序未加载


0
投票

对于我的情况,Qt 的构建有效,但 exe 没有。我必须将“sqldrivers”文件夹及其所有 DLL 从 Qt 文件夹复制到 exe 文件旁边的部署文件夹。请记住将文件夹及其内容转储到那里,而不仅仅是内容,它正在寻找该文件夹中的路径。

© www.soinside.com 2019 - 2024. All rights reserved.