2017-05-30 267 views
0

编辑#2

它的工作原理是,我第一次安装postgres 64bit,而Qt使用MinGW 32位。QT:驱动程序未加载,但驱动程序存在

编辑

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


我在运行时出现此错误:

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

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

有什么问题?

+0

https://stackoverflow.com/questions/26507353/qpsql-driver-not-loaded-qt你试过这个aproach? – zapredelom

+0

@zapredelom:现在是,它不起作用。看到我更新的答案。 –

+0

@MarcoSulla考虑自己创建一个答案,而不是将其作为编辑添加到原始问题中。 – m7913d

回答

0

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

你可以直接把你的libpq.dll放到你的application exe文件夹中。