Visual Studio下__cplusplus宏为199711L的问题

/ Zc:__ cplusplus(启用更新的__cplusplus宏)

该/ ZC:__ CPLUSPLUS编译器选项使__cplusplus预处理宏为最近C ++语言标准的支持报告的更新值。 默认情况下,Visual Studio始终为__cplusplus预处理器宏返回值“199711L” 。

句法

/ Zc:__ cplusplus [ - ]

备注

所述__cplusplus预处理宏通常用来报告用于C ++标准的特定版本的支持。 由于许多现有代码似乎依赖于此宏匹配“199711L”的值,因此编译器不会更改宏的值,除非您使用/ Zc:__ cplusplus编译器选项明确选择加入。该/ ZC:__ CPLUSPLUS选项可用在Visual Studio 2017年开始15.7版本,并且默认是关闭的。在早期版本的Visual Studio中,默认情况下,或者如果指定了/ Zc:__ cplusplus-,Visual Studio将为__cplusplus预处理器宏返回值“199711L” 。该/ permissive- 选项不启用/ Zc:__ cplusplus。

当/ ZC:__ CPLUSPLUS启用选项,则所报告的值__cplusplus宏依赖于/ STD版开关设置。 此表显示宏的可能值:

/ Zc:__ cplusplus开关 / std:c ++开关 __cplusplus值
Zc:__ cplusplus / std:c ++ 14(默认) 201402L
Zc:__ cplusplus / STD:C ++ 17 201703L
Zc:__ cplusplus / STD:C ++最新 201704L
Zc:__ cplusplus-(禁用) 任何价值 199711L
未标明 任何价值 199711L

编译器不支持C ++ 98,C ++ 03或C ++ 11的标准交换机。

要更精细地检测编译器工具集的更改,请使用_MSC_VER预定义宏。 对于Visual Studio 2017及更高版本中的每个工具集更新,此内置宏的值都会递增。无论/ Zc:__ cplusplus选项是启用还是禁用,_MSVC_LANG预定义宏都会报告标准版本。当/ Zc:__ cplusplus启用时,。 __cplusplus == _MSVC_LANG

在Visual Studio中设置此编译器选项

  1. 打开项目的“ 属性页”对话框。 有关详细信息,请参阅在Visual Studio中设置C ++编译器和构建属性

  2. 选择“ 配置属性” >“ C / C ++” >“ 命令行”属性页。

  3. 将/ Zc:__ cplusplus或/ Zc:__ cplusplus-添加到其他选项:窗格。

参考:

1./ Zc:__ cplusplus(启用更新的__cplusplus宏)

2.VS2017下__cplusplus宏为199711L的问题

Visual Studio下__cplusplus宏为199711L的问题的更多相关文章

  1. Visual Studio下SQLite数据库开发环境设置

    由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...

  2. Cocos开发中Visual Studio下HttpClient开发环境设置

    Cocos2d-x 3.x将与网络通信相关的类集成到libNetwork类库工程中,这其中包括了HttpClient类.我们需要在Visual Studio解决方案中添加libNetwork类库工程. ...

  3. Cocos开发中Visual Studio下libcurl库开发环境设置

    我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...

  4. Visual Studio下Qt编程中对中文的处理

    Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual St ...

  5. Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建

    我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...

  6. Cocos发育Visual Studio下一个HttpClient开发环境设置

    Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...

  7. Visual Studio下使用jQuery的10个技巧

    广泛流行的jQuery是一个开源的,跨浏览器和兼容CSS 3的JavaScript库,你可以用它简化你的JavaScript编码任务和操作(添加,编辑和删除)HTML内容中的DOM元素,本文介绍10个 ...

  8. CMake在Visual Studio下保持目录结构

    CMake在Visual Studio下保持目录结构 原理 主要通过CMAKE自带函数source_group来设定. 需要把add_executable()函数进行封装,包裹一层source_gro ...

  9. Visual Studio下运行PowerShell脚本自增小版本号并发布到Nuget服务器上

    Visual Studio下运行PowerShell脚本自动更新项目里AssemblyInfo.cs文件的版本(自增小版本号)并发布到Nuget服务器上 附脚本[ update.ps1文件内容]: $ ...

随机推荐

  1. VS显示代码行号

    工具>文本编辑器>常规    如图勾选行号选项,点击确定即可显示行号. 如果没有行号的选项,则需先勾选下图中左下角的‘’显示所有设置选‘’‘项.

  2. sqlalchemy的常用字段

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,\ Float,Boolean,DECIMAL, ...

  3. [转帖]全方位掌握OpenStack技术知识

    全方位掌握OpenStack技术知识 http://www.itpub.net/2019/06/17/2206/ 架构师技术联盟的文章 相当好呢. 大家好,我是小枣君.最近几年,OpenStack这个 ...

  4. [转帖]2015年时的新闻:Debian GNU/Hurd 2015 发布

    Debian GNU/Hurd 2015 发布 oschina 发布于 2015年04月30日 https://www.oschina.net/news/62004/debian-gnu-hurd-2 ...

  5. javaScript的Array方法

    仅个人总结 声明方法: var arr = new Array(); var arr = new Array(1,2,3,4,5); var arr = new array(size);//当为一个参 ...

  6. 一些通用的js工具类,添加自定义插件

    common_t.js /** * 通用工具组件 对原有的工具进行封装,自定义某方法统一处理<br> * ^_^ * * Author: em.D * Date: 2016-05-17 * ...

  7. maven引用本地jar,并打包部署

    由于项目需要的一个jar在maven仓库里没有,又不想把jar手动导入仓库.然而百度的几个处理方式都是一样的方法,我却没有一个成功的.于是就请教了大神,大神也是各种测试,终于成功实现了,实现如下: 新 ...

  8. golang substring

    在java下习惯了String.subString(start,end) 然后再golang继续敲substring木有了,看了下代码,也是原生支持的 但是百度发现有些人竟然把字符串转成字符数组再根据 ...

  9. jquery事件绑定方式总结(补充)

    总结 : 1.简单事件绑定方式:事件名()  如:click() 2.高级事件绑定方式:bind(事件名,数据参数,function)    3.动态生成元素事件绑定方式:live(事件名,数据参数, ...

  10. xampp for mac配置局域网访问

    下载了xampp,之前在window上面经常用.后来用了mac下载xampp后,配置局域网总是没成功.现在配置好了,来和大家分享一下配置局域网访问步骤. 1. 下载 下载地址:https://www. ...