PDA

View Full Version : How to deploy QT with matlab?



amagdy.ibrahim
2nd July 2008, 08:48
I am trying now to deploy my application which uses matlab Dlls,so how can I handle this issue?
Thanks

jacek
2nd July 2008, 12:55
What exactly is the issue? Do you get any error messages?

amagdy.ibrahim
2nd July 2008, 21:47
I worte this commands
qmake -config release
make

and combining core.dll xml in release
but nothing happened to my application

jacek
2nd July 2008, 21:52
I worte this commands
qmake -config release
make
Did you compile the application in release mode as well?


and combining core.dll xml in release
but nothing happened to my application
Do you set the QT variable in your .pro file?

amagdy.ibrahim
2nd July 2008, 21:55
yes,
furst is it right to write this commands for depolyment as shared libraries??

jacek
2nd July 2008, 22:02
furst is it right to write this commands for depolyment as shared libraries??
Yes. What about that QT variable? What Qt modules do you use?

Paladin12
3rd July 2008, 15:17
Hi,

(This reply applies to Windows only.)

I'm not sure what your intention is with regard to deploying an Qt front end that depends upon Matlab DLLs but I was working on a problematic project this week that could be described this way so I'll impart what I learned (via several days of frustration).

Typically, if you are using the Matlab Engine or making applications with Mex-files, etc you will need one or more of libeng.dll libmx.dll, libmex.dll, libmat.dll and/or libut.dll. And that's just at the top level, they may rely on other Matlab dlls in turn.

The best way to distribute Matlab dlls is with MCRInstaller.exe which is the redistributable package that comes with your Matlab distribution (search for it on your Matlab path).

HOWEVER, even if you install the redistributable package on your target machines there is no guarantee your Qt-Matlab application will work. Sometimes you need a copy (of the same version) of Matlab on the target machine (ie. with Matlab Engine applications) completely negating the point of a redistributable package!

If this sounds like what you're trying to do (ie. you're application uses the Matlab Engine and targeting machines that don't have Matlab on them), I'm afraid I have bad news: give up now, I don't think it can be done.