【发布时间】:2012-06-21 10:45:30
【问题描述】:
我正在尝试在 Visual C++ 中使用 Octave。
我已经下载了octave-3.6.1-vs2010-setup-1.exe。创建了一个新项目,将 octave include 文件夹添加到包含路径,octinterp.lib 和 octave.lib 到 lib 路径,并将 Octave bin 文件夹添加为运行目录。
程序编译并运行良好,除了导致异常的feval函数:
Microsoft C++ 异常:内存位置 0x0012faef 处的 octave_execution_exception
在八度方面:
调整大小操作无效或对越界数组元素的分配不明确。
我做错了什么?
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;
}
提前致谢。
【问题讨论】:
标签: c++ matlab visual-c++ octave