QT:驱动程序未加载,但驱动程序存在

时间:2017-05-30 13:55:39

标签: postgresql qt driver

编辑#2

它有效,我第一次安装postgres 64bit,而Qt使用MinGW 32位。

修改

answer链接zapredelom之后,我安装了postgres 9并将binlib目录添加到PATH。可以肯定的是,我也重新启动了机器,但没有任何改变。 QT_DEBUG_PLUGINS=1没有给我任何额外的调试信息。

我在运行时收到此错误:

QSqlDatabase: QPSQL driver not loaded 
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

当错误本身显示时,postgres驱动程序已经存在。确实在qsqlpsql.dll下有qsqlpsqld.dllC:\Qt\5.8\mingw53_32\plugins\sqldrivers。 我没有构建它,我没有在这台机器上安装Postgres(我在我的Linux操作系统上测试并在Windows 8.1 VM上部署),安装QT后驱动程序已经存在。

有什么问题?

1 个答案:

答案 0 :(得分:0)

驱动程序不起作用,因为它没有找到依赖项(它应该取决于libpq.dll),并且当你运行它时,插件找不到所需的dll。如果您使用的是Windows,请尝试使用qsqlpsql.dll的dependencywalker进行检查。

您可以直接将libpq.dll放到应用程序exe文件夹中。