QPSQL驱动没有加载Qt

bin*_*bin 7 c++ postgresql qt qsqldatabase

当我想添加数据库时遇到一些麻烦.

    _dataBase = QSqlDatabase::addDatabase("QPSQL");
Run Code Online (Sandbox Code Playgroud)

调用此方法后,我有一个错误:

QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Run Code Online (Sandbox Code Playgroud)

我包括PATH可变路径:

PostgreSQL\9.3\bin
PostgreSQL\9.3\lib
PostgreSQL\9.3\include
Run Code Online (Sandbox Code Playgroud)

我也将文件夹复制sqldriversDebug文件夹.还试图将dll drom这个文件夹复制到Debug.也不起作用.

小智 8

QT_DEBUG_PLUGINS=1如果要获取QPSQL未加载驱动程序原因的完整信息,请添加系统变量.

可能你会发现Qt无法找到它.将输出复制并粘贴到此处以了解究竟发生了什么.


Tar*_*rod 5

我来这里进行谷歌搜索是因为我在Windows中也遇到了同样的问题。

就我而言,要解决此问题,我必须为Windows 32位安装PostgreSQL,因为我的Qt目标是MinGW 32位。

另外,我必须将PATHPostgreSQL 添加到PostgreSQL bin和lib目录中,这样Qt才能找到正确的.dlls

@SET PATH=C:\Program Files (x86)\PostgreSQL\9.6\bin\;C:\Program Files (x86)\PostgreSQL\9.6\lib\;%PATH%
Run Code Online (Sandbox Code Playgroud)

PATH可推出Qt Creator中或使用Qt Creator的本身通过之前设置Build EnvironmentProjects面板中。