How to Build plugin QIBASE for FIREBIRD QT 5.0.2
-
Hello everybody. I have a problem and would like someone to help me. How do I create plugin for firebird-database 2.5.2. I've tried every way and so far nothing .. I can not compile .. I'm using qt 5.0.2 and mingw compiler. Whenever I try appears errors ...
Someone help please?@
TARGET = qsqlibaseSOURCES = main.cpp
OTHER_FILES += ibase.jsonINCLUDEPATH += "C:/Program Files/Firebird/Firebird_2_5/include" C:/tmp/src/include
LIBS += "C:/Program Files/Firebird/Firebird_2_5/lib/fbclient_ms.lib"include(../../../sql/drivers/ibase/qsql_ibase.pri)
PLUGIN_CLASS_NAME = QIBaseDriverPlugin
include(../qsqldriverbase.pri)
@
erro
@
c:\qt\qt5.0.2\tools\mingw\i686-w64-mingw32\include\iscsidsc.h:8: In file included from c:\qt\qt5.0.2\tools\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/iscsidsc.h:8:0,
C:\Qt\Qt5.0.2\5.0.2\Src\qtbase\src\sql\drivers\ibase\qsql_ibase.cpp:60: from ......\sql\drivers\ibase\qsql_ibase.cpp:60@[[Merged two threads, Tobias]]
-
Hello everybody. I have a problem and would like someone to help me. How do I create plugin for firebird-database 2.5.2. I’ve tried every way and so far nothing .. I can not compile .. I’m using qt 5.0.2 and mingw compiler. Whenever I try appears errors …
Someone help please?@
TARGET = qsqlibaseSOURCES = main.cpp OTHER_FILES += ibase.json INCLUDEPATH += "C:/Program Files/Firebird/Firebird_2_5/include" C:/tmp/src/include LIBS += "C:/Program Files/Firebird/Firebird_2_5/lib/fbclient_ms.lib" include(../../../sql/drivers/ibase/qsql_ibase.pri) PLUGIN_CLASS_NAME = QIBaseDriverPlugin include(../qsqldriverbase.pri)
@
error
@
c:\qt\qt5.0.2\tools\mingw\i686-w64-mingw32\include\iscsidsc.h:8: In file included from c:\qt\qt5.0.2\tools\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/iscsidsc.h:8:0,
C:\Qt\Qt5.0.2\5.0.2\Src\qtbase\src\sql\drivers\ibase\qsql_ibase.cpp:60: from ......\sql\drivers\ibase\qsql_ibase.cpp:60@
-
Hi,
Please don't multi post your questions.
Can you provide a more complete error log ? This one doesn't say much
-
Good ibase.pro edited the file and added the include and lib path firebird. Then I qmake-o Makefile ibase.pro. Then mingw32-make ... Ai generated this error ....
@
qmake-o Makefile ibase.pro
mingw32-make
@
error
@
11:04:49: Starting: "C:\Qt\Qt5.0.2\Tools\MinGW\bin\mingw32-make.exe"
C:/Qt/Qt5.0.2/Tools/MinGW/bin/mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'C:/Qt/Qt5.0.2/5.0.2/Src/qtbase/src/plugins/sqldrivers/ibase'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -Wall -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\tmp\src\include" -I"C:\Qt\Qt5.0.2\5.0.2\mingw47_32\include" -I"C:\Qt\Qt5.0.2\5.0.2\mingw47_32\include\QtSql" -I"C:\Qt\Qt5.0.2\5.0.2\mingw47_32\include\QtSql\5.0.2" -I"C:\Qt\Qt5.0.2\5.0.2\mingw47_32\include\QtSql\5.0.2\QtSql" -I"C:\Qt\Qt5.0.2\5.0.2\mingw47_32\include\QtCore" -I".moc\release_shared" -I"C:\Qt\Qt5.0.2\5.0.2\mingw47_32\mkspecs\win32-g++" -o .obj\release_shared\qsql_ibase.o ......\sql\drivers\ibase\qsql_ibase.cpp
In file included from c:\qt\qt5.0.2\tools\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/iscsidsc.h:8:0,
from ......\sql\drivers\ibase\qsql_ibase.cpp:60:
c:\qt\qt5.0.2\tools\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/ntddscsi.h:42:5: error: 'USHORT' does not name a type
c:\qt\qt5.0.2\tools\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/ntddscsi.h:43:5: error: 'UCHAR' does not name a type
c:\qt\qt5.0.2\tools\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/include/ntddscsi.h:237:5: error: 'PVOID' does not name a type
......\sql\drivers\ibase\qsql_ibase.cpp: In member function 'virtual bool QIBaseResult::gotoNext(QSqlCachedResult::ValueCache&, int)':
......\sql\drivers\ibase\qsql_ibase.cpp:1129:23: warning: enumeration value 'LowPrecisionDouble' not handled in switch [-Wswitch]
11:04:54: The process "C:\Qt\Qt5.0.2\Tools\MinGW\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project ibase (kit: Desktop Qt 5.0.2 MinGW 32bit)
When executing step 'Make'
@ -
That might be the case indeed, did you check what compiler they are using ?
-
If you refer to "this":http://www.firebirdsql.org/en/building-the-code/ page, they use visual studio.
-
Please, at least do a little "research":http://bit.ly/15MrM7W.
-
This works for me:
Assume that firebird path is d:\firebird and Qt path is c:\qt
- Open QT console and write:
cd C:\Qt\5.3\Src\qtbase\src\plugins\sqldrivers\ibase
qmake "INCLUDEPATH+=D:/firebird/include" "LIBS+=-LD:/firebird/lib" "LIBS+=-lfbclient_ms" ibase.pro
mingw32-make
mingw32-make install
In C:\Qt\5.3\mingw482_32\plugins\sqldrivers appears qsqlibase.dll and qsqlibased.dll
- Open QT console and write:
-
Hello,
I have this error:
.obj/release/main.o:main.cpp:(.text+0x50): undefined reference toQIBaseDriver::QIBaseDriver(QObject*)' .obj/release/moc_qsql_ibase_p.o:moc_qsql_ibase_p.cpp:(.text+0x45): undefined reference to
QIBaseDriver::qHandleEventNotification(void*)'
.obj/release/moc_qsql_ibase_p.o:moc_qsql_ibase_p.cpp:(.text+0x102): undefined reference to `QIBaseDriver::qHandleEventNotification(void*)'What do you think?
Thanks
-
Hello,
I have this error:
.obj/release/main.o:main.cpp:(.text+0x50): undefined reference toQIBaseDriver::QIBaseDriver(QObject*)' .obj/release/moc_qsql_ibase_p.o:moc_qsql_ibase_p.cpp:(.text+0x45): undefined reference to
QIBaseDriver::qHandleEventNotification(void*)'
.obj/release/moc_qsql_ibase_p.o:moc_qsql_ibase_p.cpp:(.text+0x102): undefined reference to `QIBaseDriver::qHandleEventNotification(void*)'What do you think?
Thanks
-
Hello,
i changed ibase.pro with this source code so now it builds.
TARGET = qsqlibase
INCLUDEPATH += c:/firebird_2.5/WOW64/lib
win32:INCLUDEPATH += C:/Firebird_2_5/include
win32:LIBS += -lfbclient_ms
win32:LIBS += -LC:/Firebird_2_5/WOW64/libunix:!contains( LIBS, .gds. ):!contains( LIBS, .libfb. ):LIBS *= -lgds
win32:!contains( LIBS, .gds. ):!contains( LIBS, .fbclient. ) {
!win32-borland:LIBS *= -lgds32_ms
win32-borland:LIBS += gds32.lib
}include(../qsqldriverbase.pri)
HEADERS +=
../../../sql/drivers/ibase/qsql_ibase_p.hSOURCES +=
../../../sql/drivers/ibase/qsql_ibase.cpp -
Hello,
i changed ibase.pro with this source code so now it builds.
TARGET = qsqlibase
INCLUDEPATH += c:/firebird_2.5/WOW64/lib
win32:INCLUDEPATH += C:/Firebird_2_5/include
win32:LIBS += -lfbclient_ms
win32:LIBS += -LC:/Firebird_2_5/WOW64/libunix:!contains( LIBS, .gds. ):!contains( LIBS, .libfb. ):LIBS *= -lgds
win32:!contains( LIBS, .gds. ):!contains( LIBS, .fbclient. ) {
!win32-borland:LIBS *= -lgds32_ms
win32-borland:LIBS += gds32.lib
}include(../qsqldriverbase.pri)
HEADERS +=
../../../sql/drivers/ibase/qsql_ibase_p.hSOURCES +=
../../../sql/drivers/ibase/qsql_ibase.cpp -
Hello,
I've recently built two versions of ibase (for firebird) driver.
Most helpful was entry on QT documentation and lqsa answer posted above.I was having troubles with make command, giving me missing ibase.h file.
I've changed to things: reinstalled firebird to the folder where path does not include any spaces and have changed all "" to "/" (i had "" because i was copying my paths from explorer window). Now it works perfectly.If you are in need to re-compile driver for newer version of firebird be sure to delete a content from sqldrivers/ibase folder (it was previously created for another version of firebird).
Hope that will help someone.
CHers