2008/10/28

log4cxx on VC8 リリースビルドの問題

log4cxxのリリースビルドで例外が発生する現象があり、使えなかった。
apatch_log4cxxのmlには、同じような問題に遭遇している人もいるようで、
Log4cxx with VisualC++ 2008 Express Edition - Release issue
で、こことかで落としたプロジェクトを使って見ても、問題は解決しなかった。
ランタイムライブラリが/MDで統一されていないとダメとか色々あるようだが、

log4cxxのスタティックライブラリを作成、リンクでリリースビルドでも
動作するようになった。スタティックライブラリとするには、
1.log4cxxのプロジェクトでlibを生成するように設定する
2.log4cxxのプロジェクトでプリプロに以下を設定(ARPもlibの場合)
LOG4CXX_STATIC
APR_DECLARE_STATIC
APU_DECLARE_STATIC
3.アプリのプロジェクトでプリプロにLOG4CXX_STATICを設定。
これしないとチョーリンクエラー。