P-Stadeライブラリのtrunkをインクルードディレクトリに指定するとBoost.Spirit.Qiがコンパイルエラーになる。
長くなったのでこのエントリに移しました。
msvc2008で確認。ほかは知らにゃい。
Boost1.45, 問題となったpstade/trunk/pstade/boost/utilityのリビジョンは1481
C:\Program Files\pstade\trunk\pstadeをインクルードディレクトリに指定して
#include <boost/spirit/include/qi.hpp> int main() {}
1>------ ビルド開始: プロジェクト: qi_proto_error_test, 構成: Debug Win32 ------ 1>コンパイルしています... 1>main.cpp 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(200) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::detail::pass_through_impl<Grammar,Expr,State,Data,1>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C2143: 構文エラー : ';' が 'const' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(200) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::detail::pass_through_impl<Grammar,Expr,State,Data,2>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C2143: 構文エラー : ';' が 'const' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(200) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::detail::pass_through_impl<Grammar,Expr,State,Data,3>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C2143: 構文エラー : ';' が 'const' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(200) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::detail::pass_through_impl<Grammar,Expr,State,Data,4>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C2143: 構文エラー : ';' が 'const' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(200) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::detail::pass_through_impl<Grammar,Expr,State,Data,5>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(181) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C2143: 構文エラー : ';' が 'const' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\pass_through.hpp(183) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(94) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(104) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::call<Fun(void)>::impl2<Expr,State,Data,B>' の参照を確認してください 1> c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(130) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::call<Fun(void)>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(94) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(94) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(96) : error C2143: 構文エラー : ';' が '(' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(96) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\transform\call.hpp(101) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(509) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(532) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::exprns_::extends<Expr,Derived,Domain,Arity>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(509) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(509) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(509) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(509) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(509) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(510) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(510) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(510) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(510) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(510) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(510) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(515) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(515) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::exprns_::extends<Expr,Derived,Domain,Arity>::result<Sig>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(515) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(515) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2146: 構文エラー : ',' が、識別子 'A1' の前に必要です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2065: 'A1' : 定義されていない識別子です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2146: 構文エラー : ',' が、識別子 'A3' の前に必要です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2065: 'A3' : 定義されていない識別子です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(579) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::exprns_::extends<Expr,Derived,Domain,0>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(554) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(555) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(560) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(560) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::exprns_::extends<Expr,Derived,Domain,0>::result<Sig>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(560) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(560) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(34) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(37) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(40) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(43) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\preprocessor\iteration\detail\local.hpp(46) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(622) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::proto::exprns_::virtual_member<This,Fun,Domain>' の参照を確認してください 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2143: 構文エラー : ';' が '<' の前にありません。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2238: ';' の前に無効なトークンがあります。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2988: 認識できないテンプレートの宣言または定義です。 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : error C2059: 構文エラー : '<' 1>c:\program files\boost\boost_1_45_0\boost\proto\extends.hpp(602) : fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。 1>ビルドログは "file://c:\vc\test\qi_proto_error_test\qi_proto_error_test\Debug\BuildLog.htm" に保存されました。 1>qi_proto_error_test - エラー 141、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
追記
Boost1.44以降のアップデートで
Boost.Spiritが依存しているBoost.Protoの方でも、result_ofをTR1 Styleの方のresult_ofを使うようになっていました。
Boost.Proto内でboost::tr1_result_ofを呼び出しても(メタ関数だから呼び出すっていい方でいいよね?)pstade/trunk/pstadeをインクルードディレクトリに指定してるとそのなかのboostディレクトリが先に検索されてそのなかのresult_of.hppがインクルードされて、しかしP-Stadeライブラリ側ではTR1 Styleのresult_ofが定義がされてなかったので、boost::tr1_result_ofが見つからないって言うエラーでした。
つまり、P-Stadeライブラリの方(のpstade/trunk/pstade/boost/utility/result_of.hpp)を何とかすればいけるっぽい。←イマココ
追記2
こんなパッチを当てるか、もしくはpstade/trunk/pstade/boost/utilityのresult_ofは無くしてしまっても問題ないんじゃないだろうか・・・?(P-Stade側の実装はBoost1.42の辺りとほとんど同じだったから)
パッチはただtr1_result_ofを作ってもとのresult_ofを派生しただけなので、P-Stade側のいままでの挙動は変わらないけど、Boost側で予期せぬことが起こるかも・・・
utility.patch
diff -crN .\utility/detail/result_of_iterate.hpp .\utility2/detail/result_of_iterate.hpp *** .\utility/detail/result_of_iterate.hpp Wed Jan 12 15:17:46 2011 --- .\utility2/detail/result_of_iterate.hpp Wed Jan 12 15:06:57 2011 *************** *** 22,27 **** --- 22,32 ---- BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)> struct result_of<F(BOOST_RESULT_OF_ARGS)> : boost::detail::result_of_impl<F, F(BOOST_RESULT_OF_ARGS), (boost::detail::has_result_type<F>::value)> {}; + + template<typename F BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) + BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)> + struct tr1_result_of<F(BOOST_RESULT_OF_ARGS)> + : result_of<F(BOOST_RESULT_OF_ARGS)> {}; #endif #undef BOOST_RESULT_OF_ARGS diff -crN .\utility/result_of.hpp .\utility2/result_of.hpp *** .\utility/result_of.hpp Wed Jan 12 15:22:06 2011 --- .\utility2/result_of.hpp Wed Jan 12 15:05:33 2011 *************** *** 26,31 **** --- 26,32 ---- namespace boost { template<typename F> struct result_of; + template<typename F> struct tr1_result_of; #if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace detail {
これをpstade/trunk/pstade/boostに移動してpatch -p0 < utility.patchで当ててもらえれば。
追記4
リポジトリをMB@okomokさんに頂いたコメントのとおりに修正しましたのをコミットしましたので、以降はtrunkそのまま使えるようになりました。