我只在 XCode 中不断收到有关重新定义 glm 中的某些宏的警告。这不是一个大问题,但我发现警告很烦人。
如果我在罪魁祸首宏上放置一个#ifndef 块,但整个系统将无法工作?我将它们包含在一个静态库中,该库链接到一个也包含它们的应用程序。我虽然这可能是问题,所以我将它从两者之一中删除,看看它是否有帮助。它没有。
在 Windows 上使用 mingw g++ 时不会出现此警告,但在 Xcode 4 中会出现此警告。我使用的是 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)); \
}
还有一些其他的宏与这个非常相似。