Компиляция кода 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.

Связанный контент