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
    #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