Visual C++でOctaveを使用しようとしています。Octave C++とVS2010
octave-3.6.1-vs2010-setup-1.exe
をダウンロードしました。新しいプロジェクトを作成し、パスを含めるためにオクタブinclude
フォルダを追加し、libパスにoctinterp.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;
}
事前に感謝します。
彼らのメーリングリストで尋ねられたように、Octaveは\ MDフラグ付きの実行時リンクしか許可していないようです。 – user629926