鶫をビルドしてみる (4)

(4) 鶫のソースコードを修正する

コンパイラやライブラリの違いによるエラーが大きいと思う。
何を、どこに報告すればいいかわかったら、報告します。

$ boost/spirit/home/qi/nonterminal/debug_handler.hpp
// old
line 95: r.f = debug_handler(r.f, f. r.name());
// new
line 95: r.f = debug_handler(r.f, f, r.name());

$ tugumi/Sconstruct
line 299: CCFLAGS = " ".join([ -> CPPFLAGS = " ".join([
line 391: os.makedir("log") -> os.makedirs("log")

・VC10だとこの文法でエラーを吐く

$ tugumi/src/util/lazy_init.hpp
// old
line 42: LazyInit(): flg(BOOST_ONCE_INIT) {}
// ↓
// new
line 42〜:
LazyInit() {
flg.status = 0;
flg.count = 0;
flg.throw_count = 0;
flg.event_handle = 0;
}

$ tugumi/src/environment/system/system_state.hpp
// old
line 47: evinfo(L"", NULL)
// new
line 47: evinfo(L"", reinterpret_cast(0))

$ tugumi/script/builtins/instructions/ask.cpp
// old
line 93: af.title = std::wstring(gettext("select"));
// new
line 93: af.title = (const std::wstring&)(gettext("select"));

// old
line 168: af.title = std::wstring(gettext("select"));
// new
line 168: af.title = (const std::wstring&)(gettext("select"));

・boost 1.43.0 ではis_singular()は削除された

$ tugumi/src/script/parser2/debug.hpp
line 202: if(!r.is_singular()) { os.operator<<(r); } -> //if(!r.is_singular()) { os.operator<<(r); }

$ tugumi/src/exception.hpp
line 12 追記: #include


Next:(5) 鶫をビルド
Prev:(3) 鶫のソースコードをダウンロード