Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. How to Build plugin QIBASE for FIREBIRD QT 5.0.2
Forum Updated to NodeBB v4.3 + New Features

How to Build plugin QIBASE for FIREBIRD QT 5.0.2

Scheduled Pinned Locked Moved Installation and Deployment
16 Posts 5 Posters 14.9k Views 1 Watching
  • 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 Offline
    I Offline
    insdo
    wrote on last edited by
    #1

    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
    0
    • I Offline
      I Offline
      insdo
      wrote on last edited by
      #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 = 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
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #3

        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
        0
        • I Offline
          I Offline
          insdo
          wrote on last edited by
          #4

          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
          0
          • I Offline
            I Offline
            insdo
            wrote on last edited by
            #5

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

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              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
              0
              • I Offline
                I Offline
                insdo
                wrote on last edited by
                #7

                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
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  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
                  0
                  • I Offline
                    I Offline
                    insdo
                    wrote on last edited by
                    #9

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

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      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
                      0
                      • L Offline
                        L Offline
                        lqsa
                        wrote on last edited by
                        #11

                        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
                        1
                        • M Offline
                          M Offline
                          mr_wallyit
                          wrote on last edited by
                          #12

                          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
                          0
                          • M Offline
                            M Offline
                            mr_wallyit
                            wrote on last edited by
                            #13

                            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
                            0
                            • M Offline
                              M Offline
                              mr_wallyit
                              wrote on last edited by
                              #14

                              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
                              0
                              • M Offline
                                M Offline
                                mr_wallyit
                                wrote on last edited by
                                #15

                                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
                                0
                                • P Offline
                                  P Offline
                                  pkwiecien
                                  wrote on last edited by
                                  #16

                                  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
                                  1

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved