SpicyMKLを実行するにはHessAugMexbias.c
,normKj.c
の2つのファイルをコンパイルする必要があります.
MATLABが正しく設定されていれば,同じフォルダ内のsetup.m
を実行するだけです.このファイルには以下の2行が書かれています:
mex -lmwblas normKj.c mex -lmwblas HessAugMexbias.c
さらに詳しい情報はこちらをご覧下さい
Windows では例えば以下のように blas ライブラリへのパスを通す必要があるようです:
mex -L"C:/Program Files/MATLAB/R2008b/extern/lib/win32/lcc" -lmwblas normKj.cただし,MATLAB のインストールフォルダや
mex
コマンドが使用するコンパイラにあわせて修正する必要があります.mex
コマンドが使用するコンパイラを選択するには mex -setup
を実行して下さい.
少し古いバージョンの MATLAB は blas ライブラリが含まれていないので,以下のようにします.
demo/SpicyMKL
において下さい.demo/SpicyMKL
のnormKj.c
,HessAugMexbias.c
を上書きしてして下さい.demo/SpicyMKL
に移動して,以下のコマンドでコンパイルして下さい.
mex normKj.c BLAS_nowrap.lib mex HessAugMexbias.c BLAS_nowrap.lib
mex -lblas normKj.c mex -lblas HessAugMexbias.c
README.install
に従ってmake
することです(LAPACKは不要です).これで作られたblas_LINUX.a
ファイルをdemo/SpicyMKL
にコピーし,以下のコマンドでコンパイルして下さい.
mex normKj.c blas_LINUX.a mex HessAugMexbias.c blas_LINUX.a
デスクトップなど,日本語やスペースが作業フォルダ名に含まれるとうまくコンパイルできない場合もあるようです.