Verbinden Sie sich mit Matlab Engine von C in Linux

8

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.

    
Drew Hall 03.01.2010, 03:31
quelle

2 Antworten

7

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:

  • Nicht csh installiert
  • Wenn die Umgebung falsch eingestellt ist, wird LS_COLORS manchmal mit csh vermasselt
Adam Goode 03.01.2010, 03:58
quelle
0

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.

    
Jonathan 13.01.2011 15:24
quelle