Компиляция кода C ++ 11 на старых машинах

Я пытаюсь скомпилировать проект C ++ 11 на кучу старых машин со старыми ядрами. Они запускают CentOS 6.2, 6.3 Alt Linux 4.1. Другие неизвестны, но аналогично стары. Машины не позволят мне установить более новую версию GCC. 4.4 – это максимальный размер, который они могут выполнять, и переписывание проекта не является вариантом.

Мне как-то удалось собрать GCC 4.6 локально на одной машине и использовать ее для компиляции моего проекта, но я не хочу повторять это на каждой машине. Есть ли безболезненный способ скомпилировать или запустить код на всех машинах?

Вероятно, лучшим способом было бы скомпилировать новую версию gcc для всех машин. Вы можете сделать это со сценарием ( lfs делает это). Вы должны «безопасно» копировать, вставлять, а затем запускать скрипт из учетной записи temp через ssh.

Вы также можете попробовать и обновить свои репозитории, чтобы Centos установила их для вас. Однако Centos может попытаться обновить всю вашу систему.

Кроме того, вы используете -std=c++11 ? Если это так, вы можете попробовать -std=c++0x .

Проблема по-прежнему актуальна для меня, и я нашел хорошее решение для CentOS – Devtoolset https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

Он содержит текущие версии GCC и некоторые другие инструменты для RHEL / CentOS 6/7.