Qt application using firebird deploying
-
Hello, dear Qt developers! I'm really stuck here, literally for 10+ hours trying to solve the problem. And the problem is - I created some application which use Firebird fdb files.
On my PC everything works fine. But on PC without any qt development instrumetns it's just not working!
Error output says
bq. Driver not loaded!
-
I've already put fembeded.dll (which I renamed into fbclient.dll) into the directory with my application exe file.
-
I've already treid to put floder sqldrivers (from Qt/plugins/sqldrives) into the directory with my application exe file and code this into main.cpp
@QApplication a(argc, argv);
// a.addLibraryPath(a.applicationDirPath() + "./sqldrivers" );QStringList list_path;
QDir dir = QDir(a.applicationDirPath()+"/sqldrivers");
list_path << dir.absolutePath () << a.libraryPaths();
a.setLibraryPaths(list_path );@- I've already tried to install Firebird server on other PC's.
Nothing helps. What should I do?
-
-
Hi,
First thing: don't rename dlls
Have a look at the "Windows deployment guide":http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html it contains a lot of information about how to deploy a Qt application on Windows.
-
[quote author="SGaist" date="1384029219"]Hi,
First thing: don't rename dlls
Have a look at the "Windows deployment guide":http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html it contains a lot of information about how to deploy a Qt application on Windows.
[/quote]Hello, mister!
Oh, but there were a manual
http://www.firebirdsql.org/manual/ufb-cs-embedded.htmlbq. Copy fbembed.dll into your application directory. Rename it to fbclient.dll or gds32.dll, depending on what your application expects as a Firebird client filename. Many applications still look for gds32.dll. Firebird command-line tools like isql and gbak – which you can also run against the embedded server – want fbclient.dll. You can also make copies with both names.
And by the way - dependecy walker neither developer PC's nor others PC's doesn't even shown that even some firebird .dlls are binded! How could it be?
-
The dll should be linked to the sql plugin you are using
-
[quote author="SGaist" date="1384119380"]The dll should be linked to the sql plugin you are using[/quote]
Oh, yep, I see it now. DW shows that fbclient.dll linked with qsqlibase4.dll .
-
So you could make it work ?
-
[quote author="SGaist" date="1384416776"]So you could make it work ?[/quote]
nope
-
Did you check whether fbclient.dll has dependencies that cannot be found once copied besides your Qt application ?
-
[quote author="SGaist" date="1384502625"]Did you check whether fbclient.dll has dependencies that cannot be found once copied besides your Qt application ?[/quote]
Sorry for not responding a while. Well, as I remeber I checked it, and as far I remember there wans't any trouble with that
-