1 van 1
executabel maken van matlabcode
Geplaatst: do 06 aug 2015, 11:52
door Vogeltjes
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!
Re: executabel maken van matlabcode
Geplaatst: do 06 aug 2015, 12:12
door Xenion
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.
Re: executabel maken van matlabcode
Geplaatst: do 06 aug 2015, 13:20
door Vogeltjes
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?
Re: executabel maken van matlabcode
Geplaatst: do 06 aug 2015, 14:08
door Xenion
Die compiler zit normaal in MATLAB: kijk eens naar
dit filmpje.
Re: executabel maken van matlabcode
Geplaatst: di 11 aug 2015, 10:53
door Vogeltjes
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)?
Re: executabel maken van matlabcode
Geplaatst: di 11 aug 2015, 14:27
door Xenion
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
Re: executabel maken van matlabcode
Geplaatst: wo 12 aug 2015, 12:11
door Vogeltjes
Ok, ik ga eens wat uitproberen.
Het lastige is dat ik voor linux alleen een shell heb waar ik commando's in kan voeren
Re: executabel maken van matlabcode
Geplaatst: do 13 aug 2015, 11:31
door Vogeltjes
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.
Re: executabel maken van matlabcode
Geplaatst: vr 14 aug 2015, 09:41
door Vogeltjes
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?
Re: executabel maken van matlabcode
Geplaatst: za 15 aug 2015, 15:45
door Xenion
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.