c++ QPSQL驱动程序未加载Qt

deyfvvtc  于 2022-11-20  发布在  其他
关注(0)|答案(5)|浏览(182)

我在添加数据库时遇到了一些问题。

_dataBase = QSqlDatabase::addDatabase("QPSQL");

调用此方法后出现错误:

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

我将PATH变量路径包括到:

PostgreSQL\9.3\bin
PostgreSQL\9.3\lib
PostgreSQL\9.3\include

我也复制文件夹sqldriversDebug文件夹。也试图复制dlls从这个文件夹到Debug。也不工作。

h79rfbju

h79rfbju1#

我来这里谷歌,因为我有同样的问题,在Windows。
在我的情况下,为了解决这个问题,我不得不安装PostgreSQL为Windows 32位,因为我的Qt目标是MinGW 32位。
此外,我还必须将PATH添加到PostgreSQL的bin和lib目录中,以便Qt能够找到正确的.dlls

@SET PATH=C:\Program Files (x86)\PostgreSQL\9.6\bin\;C:\Program Files (x86)\PostgreSQL\9.6\lib\;%PATH%

PATH可以在启动Qt Creator之前设置,也可以通过Projects窗格中的Build Environment使用Qt Creator本身。

ddhy6vgd

ddhy6vgd2#

如果要获取有关QPSQL驱动程序未加载原因的完整信息,请添加系统变量QT_DEBUG_PLUGINS=1
您可能会发现Qt无法找到它。复制并粘贴输出到此处,以了解具体情况。

shstlldc

shstlldc3#

qsqlpsql.dll上使用depends.exe,发现此dll需要PostgreSQL\9.3\lib文件夹中的libpq.dll。将libpq.dll添加到Debug文件夹中,它就可以工作了:)

li9yvcax

li9yvcax4#

尝试pip install PyQt5事件,如果你已经安装了它使用conda或安装程序。它帮助我。

23c0lvtd

23c0lvtd5#

我在部署Qt应用程序时遇到了同样的问题(windeployqt没有帮助)。我不得不从PostgreSQL bin路径(c:\Program Files\PostgreSQL\12\bin)中.exe文件旁边复制更多的. dll(libcrypto-1_1-x64.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、libssl-1_1-x64.dll、libwinpthread-1.dll)(根据依赖项步行者)。

相关问题