在MFC工程中使用某开源C++类时,遇到了min/max宏的编译错误,询问了作者,被告知应该定义NOMINMAX
来解决。
来源:https://stackoverflow.com/questions/13416418/define-nominmax-using-stdmin-max
看了下描述,是由于windows SDK里已经定义了min/max,造成了冲突。解决方式就是在引用windows.h或MFC头文件前加入以下代码:
#define NOMINMAX
#include <algorithm>
namespace Gdiplus
{
using std::min;
using std::max;
}
例如修改framework.h: