我在 Ubuntu 14.04 上运行g++ 4.8.5(Ubuntu 4.8.5-2ubuntu1~14.04.1)。尝试使用-std=c++14参数时,g++ 输出:
unrecognized command line option '-std=c++14'
即使在运行apt-get update和 时apt-get upgrade,问题仍然存在。那里发生什么事了?
从海湾合作委员会网站:
因为最终的 ISO C++14 标准是最近才发布的,所以 GCC 的支持是实验性的
要启用 C++14 支持,请将命令行参数 -std=c++14 添加到您的 g++ 命令行。或者,要启用除 C++14 扩展之外的 GNU 扩展,请添加 -std=gnu++14。
在您的情况下,您是否尝试过-std=gnu14查看它是否有效的选项?
C++14 特性从 GCC 4.8 开始可用,所以在你的情况下你应该对此有一些支持。
从 g++ 手册页,我发现了这个:
c++1y ISO C++ 标准的下一个修订版,暂定于 2014 年。支持是高度实验性的,几乎肯定会在未来版本中以不兼容的方式改变。
gnu++1y -std=c++1y 的 GNU 方言。支持是高度实验性的,并且几乎肯定会在未来版本中以不兼容的方式更改。
所以它看起来像选择使用可能不是c++14,但c++1y相反,不妨一试。
ps:我使用的版本比你的更新,这些是我的选择g++
$ g++ --version
g++ (GCC) 4.9.1 20140922 (Red Hat 4.9.1-10)
Run Code Online (Sandbox Code Playgroud)