Vogeltjes
Artikelen: 0
Berichten: 102
Lid geworden op: za 22 jan 2011, 16:14

executabel maken van matlabcode

Hallo,
 
Ik heb een aantal matlab bestanden. Deze bestanden wil ik graag executable bestanden van maken. (standalone).
Ik heb tot mijn beschikking:
Matlab op een Mac
De executables moeten geschikt zijn voor Windows en Linux (mogen 2 verschillende bestanden zijn).
De windows en linux computer hebben geen matlab.
 
Weet iemand wat mogelijk is?
 
Alvast bedankt!
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: executabel maken van matlabcode

Zelf nog nooit gebruikt, maar zoek eens naar MATLAB compiler. Als je niet al teveel speciale toolboxen gebruikt dan kan je normaal je MATLAB code compilen en samen met een MATLAB runtime dll ofzo op een computer zonder MATLAB installlatie uitvoeren.
Vogeltjes
Artikelen: 0
Berichten: 102
Lid geworden op: za 22 jan 2011, 16:14

Re: executabel maken van matlabcode

Ok, dus op de computer met matlab moet ik MATLAB compiler installeren. Dan kan ik het compilen en op de computers zonder matlab moet MATLAB runtime dll (?) worden geïnstalleerd?
Zijn die compiler en runtime beiden gratis software?
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: executabel maken van matlabcode

Die compiler zit normaal in MATLAB: kijk eens naar dit filmpje.
Vogeltjes
Artikelen: 0
Berichten: 102
Lid geworden op: za 22 jan 2011, 16:14

Re: executabel maken van matlabcode

Ok, volgens mij is het gelukt met die compiler.
Ik krijg dan mappen:
for_redistribution: hierin zit MyAppInstaller_web
for_redistribution_files_only: hierin zit run_naam.sh en naam.app (en default_icons.icns, readme.text en splash.png)
for_testing: hierin zit hetzelfde als for_redistribution_files_only m.u.v. default_icons, maar wel mccExcludedFiles.log
 
Met run_naam.sh en naam.app bedoel ik met naam uiteraard de originele naam van het matlab bestand, zonder de .m 
 
Welke onderdelen moet ik nu naar de andere computer (linux) toesturen? 
 
Extra:
Ik zie nu als ik ga 'compilen' aangevinkt staan: Runtime downloaded from web met daarachter een wit vakje waarin staat MyAppInstaller_web (5mb)
 
Daaronder kan ik ook aanvinken Runtime included in package , met in het witte vakje MyAppInstaller_mcr (410mb).
Moet ik deze laatste ook gaan aanvinken? Want die runtime staat nog niet op de linux computer waar het programma op moet gaan draaien (en is dit dan de juiste versie, omdat hij op een mac gecompileerd wordt)? 
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: executabel maken van matlabcode

Volgens mij heb je 2 opties:
 
1) stuur je alles in de map "for_redistribution_files_only". Op de Linux pc kan je dan de run_naam.sh uitvoeren als de MATLAB runtime op die pc geïnstalleerd is.
2) stuur de MyAppInstaller_web en voer die uit op de Linux pc. Ik vermoed dat die dan de MATLAB runtime downloadt en installeert en daarna jouw programma
Vogeltjes
Artikelen: 0
Berichten: 102
Lid geworden op: za 22 jan 2011, 16:14

Re: executabel maken van matlabcode

Ok, ik ga eens wat uitproberen.
Het lastige is dat ik voor linux alleen een shell heb waar ik commando's in kan voeren
Vogeltjes
Artikelen: 0
Berichten: 102
Lid geworden op: za 22 jan 2011, 16:14

Re: executabel maken van matlabcode

Ik probeer Runtime te installeren op Linux, het lijkt gelukt, maar geeft nog het volgende:
 
On the target computer, append the following to your LD_LIBRARY_PATH environment variable:
/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/bin/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/sys/os/glnxa64:
 
Next set the XAPPLRESDIR environment variable to the following value:
/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/X11/app-defaults
 
Ik zie dit op internet staan:http://home.chpc.utah.edu/~u0035056/IDI/readme_to_run_idi_gui.txt
maar dat begrijp ik nog niet.
 
Ik zie wel op de linux computer:
/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/runtime/glnxa64
/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/bin/glnxa64
/usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/sys/glnxa64
 
dit "bestaat" al wel.
 
De /usr/local/MATLAB/MATLAB_Compiler_Runtime/v84/X11/app-defaults "bestaat" niet.
Vogeltjes
Artikelen: 0
Berichten: 102
Lid geworden op: za 22 jan 2011, 16:14

Re: executabel maken van matlabcode

Als aanvulling op mijn vorige bericht:
Ik heb daar nog wat geprobeerd met setenv . Als ik dan mijn .sh bestand (oorspronkelijk matlab) ga runnen krijg ik:
Setting up environment variables
DYLD_LIBRARY_PATH is: ..//runtime/maci64:.//bin/maci64:.//sys/os/maci64
run_bestandnaam.sh line xx: ./bestandnaam.app/Contents/MacOS/bestandnaam: no such file or directory
 
Toen plaatste ik bestandsnaam.app in de hoofdmap van waaruit ik mijn programma probeer te runnen, dan krijg ik:
DYLD_LIBRARY_PATH is: ..//runtime/maci64:.//bin/maci64:.//sys/os/maci64
run_bestandnaam.sh line xx: ./bestandnaam.app/Contents/MacOS/bestandnaam: permission denied
 
Ik heb geen idee hoe ik dit kan oplossen. Wat ik probeer om het bestand te runnen:
sudo bash bestandnaam.sh ./
en ook zonder sudo geprobeerd.
 
Ik heb het idee dat er nu iets mis gaat doordat het bestand op een mac is gemaakt en op een linux wordt gedraaid?
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: executabel maken van matlabcode

Das allemaal wat te Linux specifiek voor mij. Ik zou zeggen: ga eens stap voor stap door die installatie instructies en zie da je zeker niks overslaat.

Terug naar “Informatica en programmeren”