Ich versuche, die Matlab-Engine programmatisch aus einem C-Programm unter Linux (Matlab r2009a, Ubuntu 9.10) aufzurufen.
Ich habe meinen eigenen Code (der in Windows funktioniert), aber im Moment versuche ich nur, das Matlab-Programm "engdemo.c" unter Linux zu verwenden. Ich habe es geschafft, & amp; Verknüpfen Sie es (nach dem Einschließen von etwa 15 -l<lib>
schaltet die GCC-Befehlszeile ein), und löste sogar alle Laufzeit-dynamischen Links über einige ldconfig magic.
Aber, wenn das Programm läuft, bekomme ich nur die Fehlermeldung "Kann MATLAB-Engine nicht starten" und das Programm endet ohne Angabe, warum es fehlgeschlagen ist.
Hat jemand diese Arbeit gemacht? Was habe ich vergessen zu tun?
ps. Ich fragte das ursprünglich auf SuperUser, weil ich denke, dass es konfigurationsbezogen ist, aber ich sehe andere Matlab-Engine-bezogene? Ist hier, also dachte ich, ich würde es ausprobieren.
Sie sollten strace
in Ihrem C-Programm ausführen, um zu sehen, wo etwas schief läuft. Normalerweise habe ich herausgefunden, dass es meistens so ist:
csh
installiert LS_COLORS
manchmal mit csh
vermasselt
MathWorks hat dies auf seiner Website dokumentiert, insbesondere den folgenden Hinweis:
Hinweis: Um die MATLAB Engine auf der UNIX-Plattform auszuführen, muss die C-Shell
csh
bei/bin/csh
installiert sein.
Tags und Links c linux matlab matlab-engine engopen