0

Eclipse Indigo Service Release 2<boost/type_traits/is_base_of.hpp>は Boost ライブラリのヘッダーの解析に失敗するため、未定義としてレポートboost::is_base_ofされます。特に、これにより、このクラスを使用するマクロ展開が無効になります。

この問題を示すコード サンプル (ソース コード) は次のとおりです。

ここに画像の説明を入力

Eclipse はオンラインDECLARE_TYPE(Foo, Bar)で error と文句を言いますSymbol 'is_base_of' could not be resolved。Boost インクルード パスがプロジェクトのインクルード パスに追加され、Eclipse はそれについて文句を言いません。Eclipse は のどの行にも文句を言いませんboost/type_traits/is_base_of.hpp

Eclipseにマクロを展開させる方法は?

4

1 に答える 1

0

https://bugs.eclipse.org/bugs/show_bug.cgi?id=373208で説明されているように、これはバグですが、最新のナイトリー ビルドと Juno マイルストーンで修正されています。問題は、Eclipse の現在のリリースが、で使用される条件付きインクルードをサポートしていないことboost/type_traits/is_base_of.hppです。

したがって、最新のビルドまたは Juno マイルストーンを使用すると、マクロは正しく展開されます。

于 2012-03-07T21:07:10.147 に答える