VS2015--win32工程配置的一些想法之算法min/max与windows中的 min/max宏冲突

今天还是配置一个工程,遇到了这个问题,使用min时提示:输入正确的标识符。

看下面的代码:

#include<iostream>
#include<Windows.h>
#include<algorithm>

int main()
{
    auto it = std::min(1, 2);//错误,应输入标识符
    return 0;
}

如果把windows的头文件注释掉就不会发生错误。

问题的原因就是algorithm中的std::min与windows中min的宏定义产生了冲突。

注释windows头文件是一种解决方案。

另一种解决方案就是使用预处理器来屏蔽min:

项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 ——>加入NOMINMAX

时间: 2024-10-12 10:39:48

VS2015--win32工程配置的一些想法之算法min/max与windows中的 min/max宏冲突的相关文章

VS2015--win32工程配置的一些想法之GdiplusTypes.h(470) : error C3861: &#39;min&#39;: identifier not found

一次一次地,乐此不疲的掉入自己挖的坑儿. 之前博客<VS2015–win32工程配置的一些想法之算法min/max与windows中的 min/max宏冲突>写了如何处理algorithm中std:min和windows中min的冲突问题,我们用到了预处理器NOMINMAX. 标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max(). 通常用它可以计算某个值对的最小值和最大值.可惜在 Visual C++ 无法使用它们,因为没有定义这些函数

VS2015--win32工程配置的一些想法之在 Visual Studio 2015 中进行调试的同时分析性能

出处: https://msdn.microsoft.com/zh-cn/magazine/dn973013(en-us).aspx 许多开发商花了绝大多数时间获取应用程序才能正常发挥作用.更少的时间里专注于应用程序的性能.虽然有了很长一段时间分析工具在 Visual Studio 中的,他们是单独的一组学习工具.许多开发人员没有花时间去学习和使用它们的时候会出现性能问题. 这篇文章将介绍 Visual Studio 2015 年新的诊断工具调试器窗口. 它还将描述如何使用它来分析性能作为定期调

VS2015--win32工程配置的一些想法之Google Code Style中头文件的顺序

工程大了,有很多的头文件,也要引用很多的库文件. 从我们学习C++写hello world的那一刻起,就知道要包含一些系统文件. 那么顺序如何呢? 在review的时候,感觉自己写的东西就是一坨屎. 看看Google code style中是如何描述include文件顺序的: Names and Order of Includes Use standard order for readability and to avoid hidden dependencies: C library, C++

DPM算法源程序voc-release5在Windows中的配置修改过程

最近的<视频处理与分析>课程中有一个大作业,是有关DPM物体检测算法的.网上有DPM的源代码,但是原版只能在Linux或Mac上运行,而我的电脑是Windows系统,于是在网上搜了一下在怎样Windows在运行,最后通过一些代码的修改,可以在Windows上正常运行,下面记录我的修改过程. DPM源程序下载:Discriminatively Trained Deformable Part Models (Release 5) 我下载的是voc-release5版本. voc-release5原

quick cocos2dx 3.x 配置win32工程

公司项目主体部分用c++,而ui部分用lua写,所以选择了用quick框架.项目先开发了ios/mac版,这两天试着配置其win32工程,遇到一些问题,记录一下(纯c++版本cocos2dx配置方法应该也是类似的). 先配debug模式: 把c++文件都添到工程中去,并在附加包含目录下配置c++文件的搜索路径.然后编译会遇到一些问题: 一,win32下fullPathForFilename函数与ios/mac下行为不一致的问题. fullPathForFilename当传入的参数是文件夹路径时,

踏入OpenGL大门 —— VS2015开发环境配置 (详细图文)

转自: https://www.jianshu.com/p/68c314fa9fea?from=groupmessage 眼睛熊 ---------------- 本文 --------------- 注意:笔者是以 Win10 + VS2015 为例 内容:安装CMake.配置freeglut .配置glew 版本:Window10.VS2015.CMake 3.8.0-rc-1.freeglut 3.0.0.glew 2.0.0 目标:使初学者不再为配置OpenGL相关环境苦恼 预热 需要说

[转帖]Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库

转自 http://www.cocoachina.com/bbs/read.php?tid=194668 前天, 在CocoaChina 2014春季大会上, 激动人心的Cocos2d-x 3.0和CocoStudio 1.3发布了. Cocos2d-x 3.0做出令人兴奋的性能, 易用性等一系列改进, CocoStudio 1.3带来了稳定性和新特性. 今天让我们看下如何在新建Cocos 3.0rc0的Win32的工程中添加CocoStudio的支持.  一 软件及其下载  1. Cocos2

使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)

前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同学的vs下看一看我写的代码都无法达成! 而且最关键的是交作业的时候,老师的2013也没有办法打开这个版本! 所以在重装过后,我就安装的2013了,但是要使用以前我的项目就只有更改配置,所以在此记录下怎样使用vs2013打开VS2015的工程文件,希望对大家有所帮助! 图文说明: 首先使用记事本或者notepad++打开你的项目的sln文件 按照如图所示做出更改 在工程文件中找到后缀名为.vc

转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)

http://www.cnblogs.com/WayneLiu/p/5060277.html 前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同学的vs下看一看我写的代码都无法达成! 而且最关键的是交作业的时候,老师的2013也没有办法打开这个版本! 所以在重装过后,我就安装的2013了,但是要使用以前我的项目就只有更改配置,所以在此记录下怎样使用vs2013打开VS2015的工程文件,希望对大家有所帮助! 图文说明: 首先使用记事本或者n