【发布时间】:2015-08-10 04:01:31
【问题描述】:
我的操作系统是
Linux version 2.6.32-220.7.1
(gcc version 4.4.6 20110731 (Red Hat 4.4.6-3)
由于各种不由我决定的原因,我无法升级它,所以让我们忽略该选项。
我的 gcc 版本是
Package gcc-c++-4.4.6-3.el6.x86_64 already installed and latest version
而且我无法升级它,从上面的消息中可以看出。
当我在 eclipse 中使用以下标志时:
-c -fmessage-length=0 -std=c++1y
我没有收到任何投诉。但是,我不能做-std=c++14,因为我得到了
g++: error: unrecognized command line option ‘-std=c++14’
make: *** [2.5/Base.o] Error 1
这里到底发生了什么?我真的在 C++14 上吗?为什么我不能升级 gcc?为什么 C++14 标志不行,而 C++1y 是?如何轻松测试 C++14 功能以确保我真的在使用它?
谢谢
【问题讨论】:
-
你使用的是哪个redhat linux?
-
您拥有的 linux 发行版没有更新 gcc 超过 4.4.6。因为发行版已被冻结,开发人员已继续为更高版本提供支持。期望您升级发行版或使用您拥有的漂亮且稳定的版本。如果您愿意,可以从其他来源下载更新。不完整的 C++14 支持从 gcc 4.9 开始。此链接可能会有所帮助:stackoverflow.com/questions/17139462/…
-
我应该补充一点,升级 GCC 和支持新 GCC 所需的软件包很可能会破坏 linux 安装中的一些其他内容。这就是发行版支持被冻结的原因。测试这些东西以确保升级或修复不会破坏其他东西可能会非常耗时,更不用说如果它确实破坏了一些更新的所有工作。
标签: c++ linux eclipse redhat c++14