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 可用但未加载的主要内容,如果未能解决你的问题,请参考以下文章