Qt and embedded Firebird DB



  • Hello!

    I am having some difficulties to find a tutorial to use Qt with embedded Firebird DB for Mac OSX.

    Could anyone help to find how to do that?

    Thanks


  • Lifetime Qt Champion

    Hi,

    AFAIK, it would be pretty much the same steps you would need for e.g. windows. Get the embedded server library and link the plugin to that one rather than the usual client lib.

    Hope it helps



  • Thanks for the reply. But how could I link it?



  • I have installed Qt 5.4 and Firebird 2.5 (Mac OS X 64-bit Classic, Superclassic & Embedded - Intel)

    The Firebird 2.5 installation creates a firebird.framework at my computer. Now I am trying to make a connection with Qt but I receive a "driver not loaded" message.

    Can someone help me please?


  • Lifetime Qt Champion

    I'd say the firebird plugin doesn't find your Firebird libraries.

    Have a look at the output of otool -L on the Qt Firebird plugin to see what it's currently missing



  • I am not figuring out how to link the plugin with Qt. How can I do that?


  • Lifetime Qt Champion

    You don't link plugins, they are loaded at runtime and yours is probably not finding the Firebird library. Hence the check with otool



  • Solved

    Tutorial above:

    TUTORIAL: CREATING FIREBIRD PLUGIN FOR MAC OSX WITH QT

    QT 5.4.0
    FIREBIRD 2.5 (Mac OS X 64-bit Classic, SuperClassic & Embedded - Intel)

    1 - Install Qt

    2 - Install Firebird
    Firebird will be installed as a Framework at /Library/Frameworks/Firebird.framework

    3 - Open the file qsql_ibase.pri
    File found in:
    $ QTDIR / Src / qtbase / src / sql / drivers / ibase /

    4 - Leave only lines 1 and 2
    ex:
    HEADERS + = $$ PWD / qsql_ibase_p.h
    SOURCES + = $$ PWD / qsql_ibase.cpp

    5 - In the terminal go to the folder:
    $ QTDIR / Src / qtbase / src / plugins / sqldrivers / ibase /

    6 - Run the command:
    $ QTDIR / clang_64 / bin / qmake -spec macx-g ++ -o Makefile "IncludePath + = / Library / Frameworks / Firebird.framework / Versions / Current / Headers" "LIBS + = - L / Library / Frameworks / Firebird.framework / Versions / Current / Libraries -lfbclient "ibase.pro

    7 - In the same folder run the Make command

    8 - In the folder:
    $ QTDIR / Src / qtbase / plugins / sqldrivers /
    Two files are created:
    libqsqlibase_debug.dylib
    libqsqlibase.dylib

    9 - Copy these two files to the folder:
    $ QTDIR / clang_64 / plugins / sqldrivers /



  • Thanks for all replies



  • Well, I created the driver, but how do I now to make it embedded?


  • Lifetime Qt Champion

    Do you mean embed in the application bundle ?



  • Yes. With all functionalities inside the app bundle.


  • Lifetime Qt Champion

    It should be deployed automatically when calling macdeployqt


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.