苦難は続く

昨日からがんばってはいるものの、未だBoostのユニットテストを使用できず。コンパイルは通るようになったが、リンク時のエラーがまだ残っている。
色々と原因を調べてみたが、どうもshared_ptrのヘッダーファイルで引っかかっているようだ。ここのboost::throw_exceptionを呼び出しているところで、外部シンボルが解決していないとリンカに怒られている。これは、Boostが悪いのか?、それともマイクロソフトコンパイラが悪いのか?


さらに調べた結果、どうもコンパイル時に_CPPUNWINDというフラグを立てていなかったのが悪かったらしい。visualc.hppのところを見てみると、BOOST_NO_EXCEPTIONSというフラグを立てないようにするには_CPPUNWINDというフラグが立っていなければならないらしく、これについて調べてみると、clのオプションということが判明。で、早速試してみたところ、あっさりとリンクでき、実行も問題なくできた。これで枕を高くして眠れるってもんですよ。…まあ、実際に例外が起きたらどうなるか知らんけど。