我该如何处理此错误?我将NOMINMAX添加到预处理器定义中,但它不起作用。那么解决方案是什么?
错误如下。
ClCompile:
1> tricall.c
1> Detected min macro! OpenMesh does not compile with min/max macros active! Please add a define NOMINMAX to your compiler flags or add #undef min before including OpenMesh headers !
1>d:\programfiles\c_library\openmesh3.2\include\openmesh\core\system\config.h(72): fatal error C1189: #error : min macro active
答案 0 :(得分:0)
你应该添加
#ifdef min
#undef min
#endif
在包含OpenMesh标头之前,和max
类似。
某些未观察NOMINMAX的标头正在定义它们。
如果这会破坏依赖于这些宏的其他代码,那么使用更复杂的
#ifdef min
#define foo min
#undef min
#endif
/*OpenMesh includes here*/
#ifdef foo
#define min foo
#undef foo
#endif
其中foo
是您选择的符号。