Estoy tratando de usar Octave con Visual C++.Octave C++ y VS2010
He descargado octave-3.6.1-vs2010-setup-1.exe
. Se creó un nuevo proyecto, se agregó la carpeta octava include
para incluir la ruta, octinterp.lib
y octave.lib
en la ruta de la lib, y agregué la carpeta Octave bin
como directorio de ejecución.
El programa compila y ejecuta bien, excepto feval
función que hace que la excepción:
Microsoft C++ excepción: octave_execution_exception en la posición de memoria 0x0012faef
y en el lado de octava:
La operación de cambio de tamaño no es válida o la asignación ambigua a un elemento de matriz fuera de límites.
¿Qué estoy haciendo mal?
Códigopara un 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;
}
Gracias de antemano.
Le pregunté en su lista de correo que parece que Octave solo permite el enlace en tiempo de ejecución con \ MD flag. – user629926