Ich versuche Octave mit Visual C++ zu verwenden.Octave C++ und VS2010
Ich habe octave-3.6.1-vs2010-setup-1.exe
heruntergeladen. Ein neues Projekt erstellt, Oktav include
Ordner hinzugefügt, Pfad, octinterp.lib
und octave.lib
zu lib Pfad hinzuzufügen, und ich habe Octave bin
Ordner als laufendes Verzeichnis hinzugefügt.
Das Programm kompiliert und läuft gut, außer feval
Funktion, die die Ausnahme verursacht:
Microsoft C++ Ausnahme: octave_execution_exception an der Speicherstelle 0x0012faef
und auf Seite Octave:
Ungültige Größenänderung oder mehrdeutige Zuweisung zu einem Arrayelement außerhalb der Grenzen.
Was mache ich falsch?
-Code für ein standalone program:
#include <octave/octave.h>
#include <octave/oct.h>
#include <octave/parse.h>
int main(int argc, char **argv)
{
if (octave_main (argc, argv, true))
{
ColumnVector NumRands(2);
NumRands(0) = 10;
NumRands(1) = 1;
octave_value_list f_arg, f_ret;
f_arg(0) = octave_value(NumRands);
f_ret = feval("rand",f_arg,1);
Matrix unis(f_ret(0).matrix_value());
}
else
{
error ("Octave interpreter initialization failed");
}
return 0;
}
Vielen Dank im Voraus.
Ich fragte auf ihrer Mailing-Liste, es scheint, dass Oktave nur erlaubt Laufzeitlink mit \ MD Flag. – user629926