Qt and PostgreSQL
пытаюсь соединить QtCreator и бд PostgreSQL, делаю все по этому гайду - http://easy-qt.blogspot.com/2012/10/postgresql-qt-windows-mingw.html psql.dll закинул в директорию C:\Qt\Qt5.14.1\Tools\QtCreator\lib\qtcreator\plugins
Все собирается(вроде как), никаких ошибок нет, начинаю вбивать пример подключения к бд отсюда - https://eax.me/libpq/ (код прикладывать пока не буду, т.к. он полностью копирует код из примера выше) ловлю целую уйму ошибок о том, что какие-то типы не обьявлены
вот вывод:
15:26:24: Настройки не изменились, этап qmake пропускается.
15:26:24: Запускается: «C:\Qt\Qt5.14.1\Tools\mingw730_64\bin\mingw32-make.exe» -j4
g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\XBIhandler -I. -I..\..\..\postgresql-12.2\src\include -I..\..\..\postgresql-12.2\src\interfaces\libpq -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\include -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\include\QtWidgets -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\include\QtGui -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\include\QtANGLE -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\include\QtSql -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\include\QtCore -I. -I. -I/include -I..\..\..\Qt\Qt5.14.1\5.14.1\mingw73_64\mkspecs\win32-g++ -o main.o ..\XBIhandler\main.cpp
g++ -Wl,-subsystem,windows -mthreads -o XBIhandler.exe ctest.o main.o mainwindow.o moc_ctest.o moc_mainwindow.o C:\postgresql-12.2\src\interfaces\libpq\libpq.dll C:\Qt\Qt5.14.1\5.14.1\mingw73_64\lib\libQt5Widgets.a C:\Qt\Qt5.14.1\5.14.1\mingw73_64\lib\libQt5Gui.a C:\Qt\Qt5.14.1\5.14.1\mingw73_64\lib\libQt5Sql.a C:\Qt\Qt5.14.1\5.14.1\mingw73_64\lib\libQt5Core.a -lmingw32 C:\Qt\Qt5.14.1\5.14.1\mingw73_64\lib\libqtmain.a -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-winx64\lib -LC:\Utils\postgresql\pgsql\lib -lshell32
main.o: In function `terminate':
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:37: undefined reference to `PQerrorMessage'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:40: undefined reference to `PQclear'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:43: undefined reference to `PQfinish'
main.o: In function `clearRes':
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:51: undefined reference to `PQclear'
main.o: In function `main':
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:67: undefined reference to `PQlibVersion'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:70: undefined reference to `PQconnectdb'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:71: undefined reference to `PQstatus'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:77: undefined reference to `PQsetNoticeProcessor'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:79: undefined reference to `PQserverVersion'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:80: undefined reference to `PQuser'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:81: undefined reference to `PQdb'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:88: undefined reference to `PQexec'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:91: undefined reference to `PQresultStatus'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:95: undefined reference to `PQexec'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:96: undefined reference to `PQresultStatus'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:115: undefined reference to `PQexecParams'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:117: undefined reference to `PQresultStatus'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:122: undefined reference to `PQexec'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:124: undefined reference to `PQresultStatus'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:127: undefined reference to `PQnfields'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:131: undefined reference to `PQfname'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:136: undefined reference to `PQntuples'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:139: undefined reference to `PQgetvalue'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:140: undefined reference to `PQgetvalue'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:141: undefined reference to `PQgetvalue'
C:\c++\QTprograms\build-XBIhandler-Desktop_Qt_5_14_1_MinGW_64_bit-Debug/../XBIhandler/main.cpp:142: undefined reference to `PQgetvalue'
collect2.exe: error: ld returned 1 exit status
mingw32-make: *** [Makefile:79: XBIhandler.exe] Error 1
15:26:27: Процесс «C:\Qt\Qt5.14.1\Tools\mingw730_64\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/развёртывании проекта XBIhandler (комплект: Desktop Qt 5.14.1 MinGW 64-bit)
Во время выполнения этапа «Сборка»
15:26:27: Прошло времени: 00:02.
файл XBIhandler.pro(собственно мое приложение)
QT += sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
ctest.cpp \
main.cpp \
mainwindow.cpp
HEADERS += \
ctest.h \
mainwindow.h
FORMS += \
mainwindow.ui
INCLUDEPATH += C:/postgresql-12.2/src/include
INCLUDEPATH += C:/postgresql-12.2/src/interfaces/libpq
LIBS+= C:/postgresql-12.2/src/interfaces/libpq/libpq.dll
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
файл psql.pro
HEADERS += $$PWD/qsql_psql_p.h
SOURCES += $$PWD/qsql_psql.cpp $$PWD/main.cpp
INCLUDEPATH+="C:/Program Files/PostgreSQL/10/include"
LIBS+="C:/Program Files/PostgreSQL/10/lib/libpq.lib"
QMAKE_USE += psql
OTHER_FILES += psql.json
PLUGIN_CLASS_NAME = QPSQLDriverPlugin
include(../qsqldriverbase.pri)