我将我的应用程序移动到另一个Linux框,编译后,它返回错误说
#include <atomic>
无法解决。
我想新的GNU C ++ 11头文件/库没有安装在新机器上。
我的问题是如何安装它们?
我在Redhat Enterprise上运行,所以yum install?
感谢。
答案 0 :(得分:8)
Red Hat Developer Toolset提供C ++ 11支持。
(的确,我怀疑这是它存在的主要原因。)
答案 1 :(得分:1)
RHEL 6附带的gcc版本包括:
#include <cstdatomic>
请参阅gcc 4.4 releaste notes的运行时库(libstdc ++)部分。
编辑:这个答案并不完全正确,因为cstdatomic
是C11文件,而不是C ++ 11文件。要获得RHEL 6中的完整C ++支持,应使用devtoolset。
答案 2 :(得分:0)
看起来您需要自己安装最新版本的GCC; RHEL(至少从6.x开始)在其存储库中没有支持C ++ 0x的GCC版本。您可以通过跟随GCC's installation instructions来创建最新版本的GCC,这些版本是分布式中立的。
您也可以使用最新的 Fedora 版本中的软件包,该软件包通常包含比RHEL中提供的软件更多的“前沿”软件。