在舊機器上編譯 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 的其他工具。

相關內容