Static build PostgreSQL in app
Unsolved
Installation and Deployment
-
I have problem to static link my postgress plugin to app. The output compilation fault is that:
undefined reference to `qt_static_plugin_qsqlpsql()' ./release\managament_plugin_import.o:managament_plugin_import.cpp:(.text.startup+0x26): undefined reference to `qt_static_plugin_QPSQLDriverPlugin()'
This is my pro file:
QT += core gui sql greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #CONFIG += plugin static CONFIG += c++11 static QTPLUGIN += qsqlpsql #include(psql/qsql_psql.pri) #PLUGIN_TYPE = sqldrivers #load(qt_plugin) DEFINES += HAVE_STRUCT_TIMESPEC #INCLUDEPATH += C:\PostgreSQL\9.2\include #DEFINES += STATIC QT_STATIC #DEFINES += QT_STATICPLUGIN #PRE_TARGETDEPS += C:\Qt\5.5\Src\qtbase\plugins\sqldrivers\libpq.dll #LIBS += -L$$PWD\sqldrivers\qsqlpsql.dll #LIBS += -LC:\Qt\5.5\Src\qtbase\plugins\sqldrivers\libqsqlpsql.a #PRE_TARGETDEPS += C:\Qt\5.5\Src\qtbase\plugins\sqldrivers\libpq.dll #QMAKE_LFLAGS += -static -static-libgcc -static-libstdc++ -lpthread
as you see I try many ways to do this. I don know what is wrong because I added to my main.cpp:
#include <QSqlDriverPlugin> #include <QtCore/QtPlugin> Q_IMPORT_PLUGIN(qsqlpsql)
I don't know should I add -qt-sql-<driver> and how. because If I add to makefile.release nothing change?
Please help, I try do this cople days and nothing change. -
Hi,
Did you compile Qt statically ?
-
Did you build the PostgreSQL plugin as part of your build ?
If not then follow the documentation about QtSQL plugin build.Otherwise, rebuild Qt and include the driver directly but you'll have to do it from a clean build.