としたにあんの左脳

備忘録です.

Boost.Logのエラー

Boost1.54でロガー機能が追加されたらしく,使ってみようとしたところ,

Undefined symbols for architecture x86_64:
  "boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)", referenced from:
      boost::log::v2s_mt_posix::record::reset() in main.cpp.o

リンクできない...

OSは OSX10.9,boostはhomebrewで入れたboost1.54 cmakeでFindPackageしてBoostをリンクしようとしている.

ググッた結果,

ここ

に答えが書いてあった....つまり

staticライブラリをリンクしようとして見つからない!

ってことらしい.

解決方法としては,sharedライブラリをリンクする必要があるみたいで,CMakeLists.txt

ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)

を追記してあげるといいらしい.

あと,つまずきそうなのは,CMakeLists.txtFIND_PACKAGElogを入れるのを忘れちゃった!ってとこな気がする.

忘れないようにせねば.

これで快適Boost.Log生活!