2015年7月23日木曜日

Ipopt の Matlab インターフェースのコンパイルで No such file or directly と言われる

Ipopt を試すためにコンパイルしてみたが Matlab インターフェイスでコンパイルがうまく行かなかった。

より具体的には、
CoinIpopt/Ipopt/contrib/MatlabInterface/src
のディレクトリで
$ make
として ipopt.mexa64 を生成しようとすると、以下のエラーで停止する。

g++: error: matlabexception.o: No such file or directory
g++: error: matlabfunctionhandle.o: No such file or directory
g++: error: matlabjournal.o: No such file or directory
g++: error: iterate.o: No such file or directory
g++: error: ipoptoptions.o: No such file or directory
g++: error: options.o: No such file or directory
g++: error: sparsematrix.o: No such file or directory
g++: error: callbackfunctions.o: No such file or directory
g++: error: matlabinfo.o: No such file or directory
g++: error: matlabprogram.o: No such file or directory
g++: error: ipopt.o: No such file or directory

make のときのエラーを確認していったところ、.libs サブディレクトリにこれらのファイルがあることがわかったので、以下のように対応してみた。

$ cd CoinIpopt/Ipopt/contrib/MatlabInterface/src
$ cp .libs/*.o .
$ make

これで無事に ipopt.mexa64 が生成できる。

0 件のコメント:

コメントを投稿