【发布时间】:2020-10-20 10:02:55
【问题描述】:
我正在使用VS 2017 v.15.9 开发一个跨平台应用程序。目标系统上安装了GCC v 8+,根据文档,它支持C++ 17。
但由于某种原因,c++ 语言标准在我的应用程序中坚决停留在C++ 14。
我转到项目属性 -> C/C++ -> 语言并将 C++ 语言标准显式设置为C++ 17,它在选择列表中可用,但这并没有改变任何东西。
宏 __cpluscplus 设置为 201406L 在许多标题中,而不是 201703L,我需要打开 C++ 17 的一些可用功能。
据我了解,这个宏是保留的,而且是由编译器设置的?在这种情况下,除了尝试在 VS Project 设置中更改此设置(此设置可用)之外,还需要做什么?
【问题讨论】:
-
如果您使用CMAKE,您是否尝试过设置标准?比如:
set (CMAKE_CXX_STANDARD 17) -
除了构建几个简单的开源项目之外,没有使用过
CMAKE。不确定在哪里设置它以及结果是否会...sync和VS在另一个系统上?
标签: c++ visual-studio gcc visual-studio-2017 c++17