Boost1.38を使ってASPのcfgをビルドする
MacのXCodeを使うとBoostのソースからビルドできます.make installすると/usr/local配下にインストールされます./optじゃないので注意.
それで,TOPPERS/ASPのcfgをビルドしようとすると,こんなエラーが
g++ -o cfg cfg.o cfg0.o cfg1.o cfg2.o cfg3.o ../toppers/itronx/libitronx.a ../toppers/libtoppers.a -lboost_filesystem-d -lboost_program_options-d Undefined symbols: "boost::filesystem::detail::symlink_status_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)", referenced from: boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost::filesystem::remove<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)in libtoppers.a(output_file.o) "boost::system::get_system_category()", referenced from: __static_initialization_and_destruction_0(int, int)in cfg.o __static_initialization_and_destruction_0(int, int)in cfg.o __static_initialization_and_destruction_0(int, int)in cfg1.o __static_initialization_and_destruction_0(int, int)in cfg1.o (以下略)
で,いろいろ調べたら「-lboost_system-mt」を付け加えろという指摘がちらほら.
なので,cfgのMakefileをこんな感じで変更.
BOOST_LIBFILES = -lboost_filesystem$(LIBBOOST_SUFFIX) -lboost_program_options$(LIBBOOST_SUFFIX) -lboost_system$(LIBBOOST_SUFFIX)
これでcfgができます.
ちなみにboost_systemは1.34から加えられた(分割された?)ようです.