Qt and embedded Firebird DB
-
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?
-
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?
-
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.framework3 - 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.cpp5 - 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.pro7 - 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.dylib9 - 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?
-
Do you mean embed in the application bundle ?
-
Yes. With all functionalities inside the app bundle.
-
It should be deployed automatically when calling macdeployqt