fc2ブログ
MacOSX10.5で64bitのBoostライブラリをbuildする
C++もSTLやBoostを使うと、横着なプログラムが書けるので好きなのですが、ちょっとしたシミュレーションなどでぼけーっと適当なプログラムを書いていると、実行時のメモリ消費量が4Gを超えてしまい、code=12でmallocエラーが出てしまって、寂しい思いをしたりします。
g++でコンパイルするとき、-m64オプションを付ければ、プログラム自体はすぐに64ビット化できるのですが、Boostのライブラリ(program optionsなので動作に関係はないのですが・・・)を使っていて、これを32bitでビルドしていると、リンクできずにコンパイルに失敗します。
というわけで、Boostのビルドが必要なライブラリの64bit版がほしくなって、作ってみました。

~/Downloads/boost_1_37_0$
あたりで、
./configure --prefix=/usr/local/lib/x86_64
これで、自動的にtools/jam/src/bin.macosxx86/bjamがbuildされます。
直接bjamを使ってもよいのですが、せっかくMakefileがあるので、これを変更します。
2行目の
BJAM_CONFIG=
を、以下のように変更します。
BJAM_CONFIG=address-model=64 architecture=x86
これで、あとは普通に
make
sudo make install
でOKです。
できるファイルは、32bit版と同じ名前になるので、ディレクトリで分けておいた方がいいかもしれません。
/usr/local/lib/x86_64/lib
となって、なんか、かっこ悪いですが・・・

ちなみに、BoostのPython関係のライブラリのビルドには失敗します。
Pythonが64bitじゃないからかなーと勝手に思っていますが、原因を究明する元気がありません。
まあ、32ビット版使えばいいし。
スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ

【2009/01/06 16:20】 | C++ | トラックバック(0) | コメント(0) | page top↑
<<boost.program_optionsのエラー | ホーム | すごいページ(Pythonの内部的な仕組み)>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://tanopy.blog79.fc2.com/tb.php/36-56b16805
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |