2008/02/13(水)BDS2006(Turbo C++)でBoostをコンパイルするときのあれこれ
2008/02/13 22:21
[環境]
BDS2006(Turbo C++) - bcc32(5.8.2)
Boost 1.34.1
boost-jam 3.1.16-1-ntx86
bjam.exe -sTOOLS=borland --toolset=borland --prefix="C:\Program Files\Borland\BDS\4.0" install
(cmd.exe上から)
さてこれは何度か失敗した上で結果的に成功したときの環境をメモしたもの。
失敗したときのことを思い返すに、何がダメだったのかよく分かっていないのだが、可能性がありそうなものを以下に全部列挙し次回の参考にしたいと思う次第。
・-sTOOLS=borlandだけだとborlandが無いといわれ、msvcでコンパイルされる(失敗)。
warning: No toolsets are configured.
warning: Configuring default toolset "msvc".
warning: If the default is wrong, you may not be able to build C++ programs.
・--toolset=borlandは必要なのかそれだけでいいのかよく分かっていないが、上記の失敗改善には有効。
・nyacusからだとダメかもしれない。
・Boost側がコンパイルさせるBCCのバージョンに対応していれば、BCBBoostは不要(おそらく通るライブラリは増えないし、コンパイルに失敗することがある)。
・今回のBoost-1.34.1はBCC32(5.8.2)には対応していた。(調査不足)
結局、
1.自分の使っているBCCのバージョンを調べ
2.Boostが対応しているか確認し
3.対応していなければBCBBoostを当て
4.--toolsetをつけてコンパイル
ということなのだろうか。しっくりこないなあ。
BCBBoostを当てたときは-STOOLの指定を自分のコンパイラに合わせたものにする。ここら辺はその都度BCBBoostのドキュメントやForumをあさること。
さて、Boostの対応はVC++のほうがしっかりしているのは周知の事実だ。Boostの機能をフルに使いたいならば、BCBは良い選択ではない。regexはいけそうだが、相変わらずtype_traits周りがダメくさい。
対応状況はBoostのtest項目などを調べればわかる。pythonは全滅しているようだが、python環境のインストールによってはいけるのかどうか?
[参考サイト]
http://www.kmonos.net/alang/boost/build.html
http://www.gesource.jp/weblog/archives/2006/12/borland_developer_studio_2006_1.html
http://d.hatena.ne.jp/ex_2/searchdiary?word=Boost
http://www.gesource.jp/programming/bcb/46.html