我将我的应用程序移动到另一个 Linux 机器,编译后,它返回一个错误说
#include <atomic>
无法解决。
我猜新机器上没有安装新的 GNU C++11 头文件/库。
我的问题是如何安装它们?
我在 Redhat Enterprise 上运行,所以 yum install ?
谢谢。
Red Hat Developer Toolset提供 C++11 支持。
(事实上,我怀疑这是它存在的主要原因。)
RHEL 6自带的gcc版本下的include是:
#include <cstdatomic>
请参阅gcc 4.4 发行说明的运行时库 (libstdc++) 部分。
编辑:这个答案并不完全正确,因为cstdatomic
是 C11 文件而不是 C++11 文件。对于 RHEL 6 中的完整 C++ 支持,应该使用devtoolset 。
看起来您需要自己安装最新版本的 GCC;RHEL(至少从 6.x 开始)在其存储库中没有支持 C++0x 的 GCC 版本。您可以按照GCC 的安装说明构建最新版本的 GCC ,这些安装说明与发行版无关。
您还可以使用来自较新的Fedora版本的软件包,它通常包含比 RHEL 中可用的软件更多的“前沿”软件。