PDA

View Full Version : Built EXE



vinny gracindo
2nd February 2010, 01:45
Hello everyone. I wonder how is the hierarchy of directories with the 'dll' in time to distribute the software. I compiled and formed the executable.
So, Dll which I put in the directory of the executable?

Ah, I use the sqlite database. I am asking that question because I put the dll conventional but the database is not open to it! IsValid () and! Open () (Not valid and can not open). The database only works with QT installed.

franz
2nd February 2010, 06:22
Place the dlls next to your application (common on windows) or in the system search path (common on linux).

Plug-ins should be in Qt's search path. The default is hardcoded into Qt. You can change that path using

void QCoreApplication::addLibraryPath ( const QString & path )

rexi
2nd February 2010, 13:27
Ah, I use the sqlite database. I am asking that question because I put the dll conventional but the database is not open to it! IsValid () and! Open () (Not valid and can not open).

I guess you mean qsqlite4.dll? For plugins, just create a directory with the same name as the one from Qt's plugin directory in your executable's directory and place the plugin DLL in it. For SQLite this would be sqldrivers/qsqlite4.dll. The other, non-plugin Qt DLLs can simply be placed in the same directory as your executable.

vinny gracindo
2nd February 2010, 15:59
I put all the dlls and conventional sqlite4.dll SQLDrivers folder (created by me) and still did not work.

The hierarchy is as follows:

->. Exe
-> All Dll
-> Folder SQLDrivers
|---> Sqlite4.dll (nicked from the C: \ Qt \ 2009.04 \ qt \ plugins \ SQLDrivers).

Still did not work. Dar both mistake! IsValid () when no! IsOpen () (Not valid and can not open).

rexi
3rd February 2010, 17:39
I am not sure if this is the problem, but try naming the directory sqldrivers (all lower case).

If it still does not work, what exactly is the error message return by lastError()?