Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Forum Updated on Feb 6th

    How to Build plugin QIBASE for FIREBIRD QT 5.0.2

    Installation and Deployment
    5
    16
    13653
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      insdo last edited by

      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 = qsqlibase

      SOURCES = 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)
      @
      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]]

      1 Reply Last reply Reply Quote 0
      • I
        insdo last edited by

        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 = qsqlibase

        SOURCES = 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

        @

        1 Reply Last reply Reply Quote 0
        • SGaist
          SGaist Lifetime Qt Champion last edited by

          Hi,

          Please don't multi post your questions.

          Can you provide a more complete error log ? This one doesn't say much

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply Reply Quote 0
          • I
            insdo last edited by

            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'
            @

            1 Reply Last reply Reply Quote 0
            • I
              insdo last edited by

              Is it because I'm using the mingw compiler and incompatibility with libraries firebird?

              1 Reply Last reply Reply Quote 0
              • SGaist
                SGaist Lifetime Qt Champion last edited by

                That might be the case indeed, did you check what compiler they are using ?

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply Reply Quote 0
                • I
                  insdo last edited by

                  I'm using the mingw compiler? firebird now I do not know? as said in the documentation that led to compile now do not know ...

                  1 Reply Last reply Reply Quote 0
                  • SGaist
                    SGaist Lifetime Qt Champion last edited by

                    If you refer to "this":http://www.firebirdsql.org/en/building-the-code/ page, they use visual studio.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply Reply Quote 0
                    • I
                      insdo last edited by

                      then mingw only serves to firebird linux?
                      for firebird windows then have to use the compiler windows .. ?

                      1 Reply Last reply Reply Quote 0
                      • SGaist
                        SGaist Lifetime Qt Champion last edited by

                        Please, at least do a little "research":http://bit.ly/15MrM7W.

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply Reply Quote 0
                        • L
                          lqsa last edited by

                          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

                          1 Reply Last reply Reply Quote 1
                          • M
                            mr_wallyit last edited by

                            Hello,

                            I have this error:
                            .obj/release/main.o:main.cpp:(.text+0x50): undefined reference to QIBaseDriver::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

                            1 Reply Last reply Reply Quote 0
                            • M
                              mr_wallyit last edited by

                              Hello,

                              I have this error:
                              .obj/release/main.o:main.cpp:(.text+0x50): undefined reference to QIBaseDriver::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

                              1 Reply Last reply Reply Quote 0
                              • M
                                mr_wallyit last edited by

                                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/lib

                                unix:!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.h

                                SOURCES +=
                                ../../../sql/drivers/ibase/qsql_ibase.cpp

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mr_wallyit last edited by

                                  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/lib

                                  unix:!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.h

                                  SOURCES +=
                                  ../../../sql/drivers/ibase/qsql_ibase.cpp

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pkwiecien last edited by

                                    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

                                    1 Reply Last reply Reply Quote 1
                                    • First post
                                      Last post