Необходимо создать минимально работающее Qt приложение для подключения и взаимодействия с СУБД PostgreSQL. Из коробки не работает. ОС - windows 10 64bit, Версия Qt - Qt 5.9.5 MSVC 2015, MS Visual Studio 2017 Community, PostgreSQL 9.6 (пробовал как 32bit, так и 64bit)
Проверяю таким кодом:
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
qDebug() << db.isValid();
db.setHostName("hostname");
db.setPort(5432);
db.setDatabaseName("dbname");
db.setUserName("username");
db.setPassword("password");
if (!db.open())
{
qDebug() << db.lastError().text();
return;
}
В результате:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
false
При этом файл qsqlpsql.dll в поддиректории Qt msvc2017_64\plugins\sqldrivers есть. Из чего я сделал вывод, что драйвер надо скомпилировать вручную.
Открываю командную строку Qt 5.9.5 64bit for Desktop (MSVC 2017), перехожу в папку C:\Qt\Qt5.9.5\5.9.5\Src\qtbase\src\plugins\sqldrivers\psql, набираю команду
qmake "INCLUDEPATH+=\"C:\Program Files (x86)\PostgreSQL\9.6\include\"" "LIBS+=\"C:\Program Files (x86)\PostgreSQL\9.6\lib\libpq.lib\"" psql.pro
В результате:
Project ERROR: Library 'psql' is not defined.
Пытался также собрать через Qt Creator
Project ERROR: Library 'psql' is not defined.
Cannot read /qtsqldrivers-config.pri: No such file or directory
Project ERROR: Library 'psql' is not defined.
Пытался собрать также всю ветку sqldrivers, аналогично:
Project ERROR: Library 'psql' is not defined.
Есть ли вообще возможность собрать какую-то работающую связку?