4

我将我的应用程序移动到另一个 Linux 机器,编译后,它返回一个错误说

#include <atomic> 

无法解决。

我猜新机器上没有安装新的 GNU C++11 头文件/库。

我的问题是如何安装它们?

我在 Redhat Enterprise 上运行,所以 yum install ?

谢谢。

4

3 回答 3

8

Red Hat Developer Toolset提供 C++11 支持。

(事实上​​,我怀疑这是它存在的主要原因。)

于 2012-08-21T17:10:25.440 回答
1

RHEL 6自带的gcc版本下的include是:

#include <cstdatomic>

请参阅gcc 4.4 发行说明的运行时库 (libstdc++) 部分。

编辑:这个答案并不完全正确,因为cstdatomic是 C11 文件而不是 C++11 文件。对于 RHEL 6 中的完整 C++ 支持,应该使用devtoolset 。

于 2013-05-13T23:32:07.947 回答
0

看起来您需要自己安装最新版本的 GCC;RHEL(至少从 6.x 开始)在其存储库中没有支持 C++0x 的 GCC 版本。您可以按照GCC 的安装说明构建最新版本的 GCC ,这些安装说明与发行版无关。

您还可以使用来自较新的Fedora版本的软件包,它通常包含比 RHEL 中可用的软件更多的“前沿”软件。

于 2012-03-21T19:46:03.613 回答