1

ブースト ライブラリを使用してコードをコンパイルすると、主に Spirit 名前空間を使用しているときに、多くのエラーが発生します。エラーは、次のようなブースト ファイルの構文エラーです。

boost/spirit/home/classic/dynamic/lazy.hpp(33): エラー C2143: 構文エラー: ';' がありません 「<」の前

また

boost/spirit/home/classic/dynamic/lazy.hpp(33): エラー C4430: 型指定子がありません - int が想定されます。注: C++ は default-int をサポートしていません

また

boost/spirit/home/classic/utility/grammar_def.hpp(104): エラー C2039: 'nil_t': 'boost::phoenix' のメンバーではありません

Visual Studio 6 から Visual Studio 2008 Express に移行し、最も古いバージョンのブーストから最新のバージョンに移行しています。

何が問題なのか知りたいです。問題がブーストライブラリにあるとは思えません。

4

2 に答える 2

0

私の推測では、Timi Geusch のように、間違った #define です。

私は VS を使ったことはありませんが、プリプロセッサを通過した後のコードを表示するオプションがあれば、問題の原因を突き止めることができるかもしれません。

于 2009-08-14T19:23:59.177 に答える
0

古いバージョンのphoenixであるphoenix1を含めるだけで問題は解決しました。

于 2009-09-07T14:22:18.803 に答える