Я пытаюсь использовать Octave с Visual C++.
Я скачалoctave-3.6.1-vs2010-setup-1.exe
. Создал новый проект, добавил папку octave include
для включения пути, octinterp.lib
и octave.lib
в путь к библиотеке, и я добавил Octave bin Папка
в качестве рабочего каталога.
Программа компилируется и работает нормально, за исключением функции feval
, которая вызывает исключение:
Исключение Microsoft C++: octave_execution_exception в ячейке памяти 0x0012faef
и на стороне Octave:
Недопустимая операция изменения размера или неоднозначное присвоение элементу массива, находящемуся за пределами границ.
Что я делаю не так?
Код для отдельной программы:
#include
#include
#include
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;
}
Заранее спасибо.