Compilación de código C++11 en máquinas antiguas

Compilación de código C++11 en máquinas antiguas

Estoy intentando compilar un proyecto C++ 11 en un montón de máquinas antiguas con núcleos antiguos. Están ejecutando CentOS 6.2, 6.3 Alt Linux 4.1. Otros son desconocidos pero igualmente antiguos. Las máquinas no me permiten instalar una versión más nueva de GCC. 4.4 es el máximo que pueden ejecutar y reescribir el proyecto no es una opción.

De alguna manera logré compilar GCC 4.6 localmente en una máquina y lo usé para compilar mi proyecto, pero no quiero repetir eso en todas las máquinas. ¿Existe una forma sencilla de compilar o ejecutar el código en todas las máquinas?

Respuesta1

Probablemente la mejor manera sería compilar la nueva versión de gcc para todas las máquinas. Puedes hacer esto con un script (lfsHaz esto). Debería estar "seguro" al copiar, pegar y luego ejecutar el script desde una cuenta temporal a través de ssh.

También puedes intentar actualizar turepositoriospara que Centos los instale por usted. Sin embargo, Centos podría intentar actualizar todo su sistema.

Además, ¿estás usando -std=c++11? Si es así, quizás quieras intentarlo -std=c++0x.

Respuesta2

El problema sigue siendo actual para mí y encontré una buena solución para CentOS - Devtoolsethttps://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

Proporciona versiones actuales de GCC y algunas otras herramientas para RHEL/CentOS 6/7.

información relacionada