Qt や Point Cloud Library (PCL) などのライブラリを使用して Vs 2008 で編集したプログラムがあります。
PCL には、boost を含むサードパーティ ライブラリがあります。
ただし、コンパイル後にいくつかのエラーが発生しました。
1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/sequenced_index.hpp(926): エラー C3083: 'Q_FOREACH': '::' の左側の記号はタイプ 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/sequenced_index.hpp(926): エラー C2039: 'タグ': 'ブースト' のメンバーではありません 1>C :\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/sequenced_index.hpp(926): エラー C2061: 構文エラー: 識別子 'タグ' 1>C:\Program Files\PCL 1.5.1\ 3rdParty\Boost\include\boost/multi_index/ordered_index.hpp(1399): エラー C3083: 'Q_FOREACH': '::' の左側の記号は、タイプ 1>C:\Program Files\PCL 1.5 である必要があります。 1\3rdParty\Boost\include\boost/multi_index/ordered_index.hpp(1399): エラー C2039: 'タグ':'ブースト' のメンバーではありません 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/ordered_index.hpp(1399): エラー C2061: 構文エラー: 識別子 'タグ' 1> C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/hashed_index.hpp(1254): エラー C3083: 'Q_FOREACH': '::' の左側の記号は型でなければなりません1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/hashed_index.hpp(1254): エラー C2039: 'タグ': 'ブースト' のメンバーではありません 1>C:\ Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/hashed_index.hpp(1254): エラー C2061: 構文エラー: 識別子 'タグ' 1>C:\Program Files\PCL 1.5.1\3rdParty\ Boost\include\boost/multi_index/random_access_index.hpp(1012): エラー C3083: 'Q_FOREACH':'::' の左側の記号は、タイプ 1>C:\Program Files\PCL 1.5.1\3rdParty\Boost\include\boost/multi_index/random_access_index.hpp(1012) である必要があります: エラー C2039: 'tag ': 'ブースト' のメンバーではありません
最初の問題の場合、ソース ファイル内のエラーの場所は次のとおりです。
template<typename SuperMeta,typename TagList>
inline boost::mpl::true_* boost_foreach_is_noncopyable(
boost::multi_index::detail::random_access_index<SuperMeta,TagList>*&,
boost::foreach::tag) // <-------------error here for the first compile error.
{
return 0;
}
Q_FOREACH
おそらくこれは、boost foreach と競合していることを示していると思います。
しかし、私はこの問題を解決する方法がわかりませんか?