Boostライブラリのバージョンアップのメモ

あまり時間は無いのですが景気づけにプログラムに着手しようと思い、とりあえず環境を整えるべくライブラリのアップデートをしました。Boostを1.31から1.33.1にバージョンアップしようとライブラリをビルドするもどうもシングルスレッド版が作成されない。仕方無いのでネットで情報収集していたらごりごりと時間が経ち最終的には4時間程経過。あまり時間は無いのですが!(これだからプログラムから足が遠のいてしまう・・)
折角情報収集したので簡単なまとめを。というかよくまとまっているサイトに辿り着いたのでそこの紹介。
http://abyss.dw.land.to/blosxom/software/software003.html

それとワイド文字列を意識していなかったので気付きませんでしたがSTLportでは独自iostreamライブラリを/Zc:wchar_tを付けてビルドすべきとの情報を得たのでSTLportも再ビルドしました。これも上のサイトでカバーされています。
追加事項としてSTLport4.60ではメモリリークが発生するらしいので独自アロケータを使用しないようにします。ただしこれはツール上の誤報らしく、また現行リリース版の4.62では裏が取れていないです。stlport\stl\_site_config.hにて、

#define _STLP_USE_NEWALLOC 1

とします。またデバッグモードをデバッグビルドで選択的に有効にするためにstlport/stl_user_config.hに一部加筆しています。*1

#ifdef NDEBUG
# undef _STLP_DEBUG
#else
# define _STLP_DEBUG 1
#endif

で、ビルドは上手くいったのですが結局Boostシングルスレッド版は生成されず。そもそもSTLport自体がマルチスレッドしかサポートしていないので合理的といえばそうなのですが、Boost1.31ではそれでもシングルスレッド版も生成されていたので気になってしょうがない。この件については情報見つけられず。


とりあえずこの問題は置いておいて新しいBoost自体のテストのために自分のコードをビルドしてみました。

(...)\misc.cpp(30): fatal error C1083: include ファイルを開けません。'boost/mpl/assert_is_same.hpp': No such file or directory

んあ?
調べてみたら1.32でBoost::MPLで名前変更があったようです。なんてこった!
http://boost.org/libs/mpl/doc/tutorial/renaming-cleanup.html

他にも変更点があるようですが、気付けば6時間近く経過。きりがないのでその都度対処していくことにします。