Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QPSQL驱动程序未加载_C++_Qt_Postgresql_Qsqldatabase - Fatal编程技术网

C++ QPSQL驱动程序未加载

C++ QPSQL驱动程序未加载,c++,qt,postgresql,qsqldatabase,C++,Qt,Postgresql,Qsqldatabase,我想添加数据库时遇到了一些问题 _dataBase = QSqlDatabase::addDatabase("QPSQL"); 调用此方法后,我有一个错误: QSqlDatabase: QPSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 我将to路径变量路径包括到: PostgreSQL\9.3\bin PostgreSQL\

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

    _dataBase = QSqlDatabase::addDatabase("QPSQL");
调用此方法后,我有一个错误:

QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
我将to
路径
变量路径包括到:

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

我还将文件夹
sqldrivers
复制到
Debug
文件夹。还尝试将此文件夹中的DLL drom复制到
Debug
。也不起作用。

如果希望获得未加载
QPSQL
驱动程序的完整信息,请添加系统变量
QT\u DEBUG\u PLUGINS=1


您可能会发现Qt无法找到它。复制并粘贴输出到此处以了解具体情况。

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

我来这里搜索是因为我在Windows中遇到了同样的问题

在我的例子中,为了解决这个问题,我必须安装PostgreSQL for Windows 32位,因为我的Qt目标是MinGW 32位

此外,我必须将
路径
添加到PostgreSQL bin和lib目录中,以便Qt能够找到正确的
.dll

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

可以在启动Qt Creator之前设置路径,或者通过
项目
窗格中的
构建环境
使用Qt Creator本身。

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

可能使用psql驱动程序上的dependens.exe来验证它是否正在拉入PostgreSQL\9.3中的DLL\bin@drescherjm感谢回复:)我发现qsqlpsql.dll需要PostgreSQL\9.3\lib文件夹中的libpq.dll。我将此dll添加到调试文件夹,现在错误消息已消失:))非常感谢:)