在旧机器上编译 C++11 代码

在旧机器上编译 C++11 代码

我正在尝试在一堆具有旧内核的旧机器上编译 C++11 项目。他们运行的是 CentOS 6.2、6.3 Alt Linux 4.1。其他人不详,但同样古老。这些机器不允许我安装更新版本的 GCC。 4.4 是他们可以运行的最大值,并且重写项目不是一个选项。

我以某种方式设法在一台机器上本地构建 GCC 4.6,并用它来编译我的项目,但我不想在每台机器上重复这一点。有没有一种轻松的方法可以在所有机器上编译或运行代码?

答案1

也许最好的方法是为所有机器编译新版本的 gcc。您可以使用脚本来完成此操作(自由度做这个)。您应该“安全”地复制、粘贴,然后通过 ssh 从临时帐户运行脚本。

您还可以尝试更新您的回购协议让 Centos 为您安装它们。 Centos 可能会尝试升级您的整个系统。

另外,你在用吗-std=c++11?如果是这样,您可能想尝试一下-std=c++0x

答案2

这个问题对我来说仍然是现实的,我已经找到了一个很好的 CentOS 解决方案 - Devtoolsethttps://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

它提供了当前版本的 GCC 和一些适用于 RHEL/CentOS 6/7 的其他工具。

相关内容