我在 Ubuntu 14.04 LTS 上使用 g++ 4.8.4。当尝试使用“-std=c++14”进行编译时,出现以下错误:
g++: error unrecognized command line option '-std=c++14'
使用 '-std=c++11' 编译工作正常,所以我不确定发生了什么。 g++ 真的还不支持 c++14 吗?我使用了错误的命令行选项吗?
我使用了“sudo apt-get install g++”,它应该自动检索最新版本,对吗?
For gcc 4.8.4
你需要使用-std=c++1y
在以后的版本中,看起来像从5.2
您可以使用-std=c++14
.
如果我们看看海湾合作委员会在线文档 https://gcc.gnu.org/onlinedocs/我们可以找到 gcc 每个版本的手册,我们可以通过以下方式查看4.9.3 的方言选项 https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/C-Dialect-Options.html#C-Dialect-Options在下面GCC 4.9.3 手册 https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/它说:
‘c++1y’
ISO C++ 标准的下一个修订版暂定于 2014 年进行。支持是高度实验性的,并且几乎肯定会在未来版本中以不兼容的方式发生变化。
所以直到4.9.3
你必须使用-std=c++1y
而海湾合作委员会 5.2 选项 https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc/C-Dialect-Options.html#C-Dialect-Options say:
‘c++14’
‘c++1y’
2014 年 ISO C++ 标准及修订版。名称“c++1y”已弃用。
我不清楚为什么这列在下面Options Controlling C Dialect
但这就是目前文件的组织方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)