MacOSXでboost::python(homebrewユーザー)
はじめに
事情があって,pythonとC++を併用したいことがあった.
方法はいくつかあるけれど,C++ユーザーとしてはboost::pythonが良い選択に思える.
しかし普段はXcodeのGUIに甘やかされていたので,導入にかなり手こずった.
環境依存な部分は多いかもしれないけれど,忘備録的に上手く行った方法を書いておく.
boost::pythonをインストールする
macユーザーならパッケージ管理ソフトを使っていると思う.
僕は以前までmacportsを使っていた.
しかし学部時代の研究室の先生にhomebrewを勧められたこと,また僕のMacBookAirのSSD残量がひもじい状態になっていたこともあって,今はhomebrewに移行している(10GBぐらいの節約になったりする).
homebrewからboost::pythonをインストールするには,次のコマンドをTerminal上で入力する.
brew install boost-python --with-python3
cppファイルをビルドする
.soファイルを生成するという多少特殊なコンパイルになるので,Terminal上からg++でビルドする.ビルドしたいcppファイル(仮に名前をcpppy.cppとしよう)があるディレクトリにcdで移動してから
$ g++ -I`python -c 'from distutils.sysconfig import *; print get_python_inc()'` -DPIC -bundle -fPIC -o cpppy.so cpppy.cpp -lboost_python -framework Python
とやればOK.