glmの一部のマクロが再定義されているという警告がXCodeでのみ表示され続けます。大きな問題ではありませんが、警告が煩わしいと思います。
犯人マクロの上に#ifndefブロックを置いても、システム全体が機能しない場合はどうなりますか?それらを含むアプリにリンクされている静的ライブラリにそれらを含めます。これが問題になる可能性があるので、2つのうちの1つから削除して、問題が解決するかどうかを確認しました。そうではありませんでした。
この警告は、Windowsでmingw g ++を使用している場合は表示されませんが、Xcode4では表示されます。glmバージョン0.9.3.4を使用しています。
警告:
"VECTORIZE2_VEC" redefined
This is the location of the previous definition
これは何百回も繰り返されます。
犯人コード(glmファイル_vectorize.hppから取得):
#define VECTORIZE2_VEC(func) \
template <typename T> \
GLM_FUNC_QUALIFIER detail::tvec2<T> func( \
detail::tvec2<T> const & v) \
{ \
return detail::tvec2<T>( \
func(v.x), \
func(v.y)); \
}
これに非常によく似たマクロが他にもいくつかあります。