Qt 驱动程序 Postgresql 可用但未加载

Posted

技术标签:

【中文标题】Qt 驱动程序 Postgresql 可用但未加载【英文标题】:Qt Driver Postgresql available but not loaded 【发布时间】:2017-05-11 18:49:33 【问题描述】:

我正在尝试制作一个示例项目,以读取数据库中的数据。

我在 Windows 10 上使用 Qt 5.8,带有 mingw 32 位编译器。 Postgresql 9.6 32 位。

我有错误: QSqlDatabase: 未加载 QPSQL 驱动程序

QSqlDatabase:可用驱动程序:QSQLITE Qmysql QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

我尝试在我的路径中添加:

-PostgresPath\

-PostgresPath\include

-PostgresPath\bin

-PostgresPath\lib

我尝试将 libeay32.dll、libintl-8.dll、libpq.dll、ssleay32.dll 复制到 QTPath\5.8\mingw53_32\bin 中。

我尝试在我的项目文件夹中添加 libpq.dll、qsqlpsql.dll 和 qsqlpsqld.dll,但没有帮助。

你有什么建议吗? 谢谢。

【问题讨论】:

【参考方案1】:

也许您没有实际用于开发的 QPSQL 插件版本(例如由于 Qt 框架升级等),因此插件存在但无法加载。尝试手动构建 Qt PSQL 驱动插件。下载确切版本的 Qt 源代码(在您的情况下为 5.8.0)并运行以下命令。 我假设PostgreSQL安装在C:\psql,Qt源码在%QTDIR%,构建插件如下:

 cd %QTDIR%\src\plugins\sqldrivers\psql
 qmake -o Makefile "INCLUDEPATH+=C:\psql\include" "LIBS+=C:\psql\lib\ms\libpq.lib" psql.pro
 nmake

当我遇到类似问题时,这对我有用。

【讨论】:

以上是关于Qt 驱动程序 Postgresql 可用但未加载的主要内容,如果未能解决你的问题,请参考以下文章

Qt5、C++:未加载 QMYSQL 驱动程序

QMYSQL 可用但无法加载

为 Qt 构建和安装 MySql 驱动程序后,无法加载 MySql 驱动程序

IOKit驱动程序已加载但未启动

查看已加载但未加载其组件

Qt 插槽连接成功但未被触发