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添加到调试文件夹,现在错误消息已消失:))非常感谢:)