Compilando código C++ 11 em máquinas antigas

Compilando código C++ 11 em máquinas antigas

Estou tentando compilar um projeto C++ 11 em várias máquinas antigas com kernels antigos. Eles estão executando CentOS 6.2, 6.3 Alt Linux 4.1. Outros são desconhecidos, mas igualmente antigos. As máquinas não me permitem instalar uma versão mais recente do GCC. 4.4 é o máximo que eles podem executar e reescrever o projeto não é uma opção.

De alguma forma, consegui construir o GCC 4.6 localmente em uma máquina e usei-o para compilar meu projeto, mas não quero repetir isso em todas as máquinas. Existe uma maneira fácil de compilar ou executar o código em todas as máquinas?

Responder1

Provavelmente a melhor maneira seria compilar a nova versão do gcc para todas as máquinas. Você pode fazer isso com um script (sefaz isso). Você deve copiar, colar e executar "seguro" o script a partir de uma conta temporária via ssh.

Você também pode tentar atualizar seurepositóriospara que o Centos os instale para você. Centos pode tentar atualizar todo o seu sistema.

Além disso, você está usando -std=c++11? Se sim, você pode querer tentar -std=c++0x.

Responder2

O problema ainda é real para mim e encontrei uma boa solução para CentOS - Devtoolsethttps://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

Ele fornece versões atuais do GCC e algumas outras ferramentas para RHEL/CentOS 6/7.

informação relacionada