Visual C++ で Octave を使用しようとしています。
ダウンロードしましoctave-3.6.1-vs2010-setup-1.exe
た。新しいプロジェクトを作成し、octaveinclude
フォルダーをインクルード パスoctinterp.lib
とoctave.lib
lib パスに追加し、Octavebin
フォルダーを実行ディレクトリとして追加しました。
feval
プログラムは、例外を引き起こす関数を除いて、正常にコンパイルおよび実行されます。
Microsoft C++ 例外: メモリ位置 0x0012faef の octave_execution_exception
そしてオクターブ側:
サイズ変更操作が無効であるか、範囲外の配列要素へのあいまいな割り当てです。
私は何を間違っていますか?
スタンドアロン プログラムのコード:
#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;
}
前もって感謝します。