PDA

View Full Version : Distribute a executable



xgoan
5th October 2006, 15:11
I have done a program with Qt4 and I want to redistribute it without compiling, but when I try to use the Mysql driver, it always give me the error DRIVER NOT LOADED. How can I pack the Mysql driver to another computer?

Thanks

munna
5th October 2006, 15:42
Sql related dll's should be put in sqldrivers folder on the system where you are installing the application.

wysota
5th October 2006, 16:14
Or compiled into the executable.

xgoan
5th October 2006, 16:16
Or compiled into the executable.

How can it be done? I have read something about UPX, but I dont know how to do the package

wysota
5th October 2006, 18:03
I don't know what UPX is. All you need to do is to compile the driver into the library instead of a separate plugin. See configure -help to see what switch is required when compiling Qt.

xgoan
5th October 2006, 22:41
Ok "./configure -static" in linux but in Windows (with MinGW) what can I do?

Brandybuck
5th October 2006, 23:16
There is a page in Assistant entitled "Deploying an Application on Qt/Windows". It includes information on packaging plugins.

xgoan
6th October 2006, 12:21
Don't work, here is my list of files:

Informes.exe
mingwm10.dll
QtCore4.dll
QtGui4.dll
QtSql4.dll
plugins\sqldrivers\LIBMYSQL.DLL
plugins\sqldrivers\qsqlmysql.dll
plugins\sqldrivers\qsqlmysqld.dll

:crying:

jacek
6th October 2006, 12:30
plugins\sqldrivers\LIBMYSQL.DLL
Move this DLL to the same directory where Informes.exe is.

Edit: and it should be "sqldrivers" not "plugins\sqldrivers".

xgoan
6th October 2006, 13:51
Problem found, when I put a libmysql.dll in the program dir it fails, and when loading the library from \Windows\System32 it works. Copying this library to program directory and it works on all computers... :confused: