liboctaveをCygwinで使う。

とりあえず、liboctaveを使って

// octave_test.cpp
#include <iostream>
#include <octave/config.h>
#include <octave/Matrix.h>
using namespace std;
int main() {
  Matrix a(2, 2, 1.0);
  cout << a << endl;
  return 0;
}

のコードをコンパイルすることを目標にする。
ちなみにg++でコンパイルするにはいろいろとLIB,FLAGなどの設定がいるらしいが、

$ mkoctfile --link-stand-alone -o octtest octave_test.cpp

とすることで簡単にコンパイルできるらしい。

Cygwinはもともと入っていたので、追加で必要なものをインストールしてみた。
追加したのはMathカテゴリの中の

  • octave から始まる4項目
  • gnuplot (ついでに必要そうだったから)

の2種類。

これで先ほどのmkoctfileでコンパイルしてみると、
"cannot find -lhdf5"というメッセージが出たので、
さらに、Archiveカテゴリにあった

  • hdf5
  • libhdf5から始まる2項目

を追加でインストール。

これでもう一回さっきのコンパイル命令をしたら、

$ mkoctfile --link-stand-alone -o octtest octave_test.cpp
g++: unrecognized option `-rdynamic'

と-rdynamicオプションがないとかでたけど、まぁ目的の実行ファイルはできたのでよし。
g++のバージョンが古いのかな???


結局liboctaveは使いやすかった。とりあえずこのまま使い続けようと思う。