Posso ? - Desenvolva C/C++ no Fedora 14 usando GCC 4.4 e implante no CentOS 5.2 usando GCC 4.4

Posso ? - Desenvolva C/C++ no Fedora 14 usando GCC 4.4 e implante no CentOS 5.2 usando GCC 4.4

Meu ambiente de produção executa as versões CentOS 5.2 e 5.5. Tenho que desenvolver uma nova ferramenta usando C/C++ e implantá-la neste ambiente de produção.

Eu estava planejando usar o Fedora 14 em meu desktop com GCC 4.4 para fazer o desenvolvimento com Eclipse IDE. E mais tarde quero implantar os executáveis ​​no CentOS 5.2 ou 5.5. O ambiente de produção também terá o GCC 4.4.

Como tanto o Fedora quanto o CentOS são baseados em RHEL, pensei que isso fosse possível.

Então, posso fazer isso?

Ou preciso ter o CentOS 5.2/5.5 também na minha área de trabalho de desenvolvimento?

Obrigado Amit

Responder1

Se você construir binários estáticos, poderá construir praticamente qualquer coisa e executar praticamente em qualquer lugar. Os detalhes exatos sobre como você constrói coisas estáticas seriam melhor respondidos no stackoverflow.

Construir em um ambiente diferente parece um pouco bobo. Por que não construir uma VM ou chroot que seja idêntico à produção em sua máquina de desenvolvimento. Dessa forma, você terá muito menos probabilidade de experimentar incompatibilidades estranhas/inesperadas.

Responder2

se você vincular dinâmica a bibliotecas que não estão presentes no centos, você precisará fornecer as bibliotecas também

se você fornecer o código-fonte e compilar na caixa centos, precisará fornecer todos os cabeçalhos ou arquivos-fonte que usar em seu código. se você não usar nada especial (você apenas usa, por exemplo, a libc), não há necessidade de fornecer bibliotecas extras.

mais uma coisa que você precisa ter cuidado é a arquitetura da CPU - se você tiver código para 64 bits ele não funcionará em 32.

Responder3

Vocêpodefaça isso, mas você não deveria.

É melhor construir seus pacotes finais de produção em um ambiente limpo, o que certamente não será seu desktop de desenvolvimento. Como o CentOS é gratuito, não há razão para não ter um ambiente de construção especial que seja limpo sempre desde o kickstart ou restaurado a partir de um snapshot em bom estado. Talvez seja um pouco de trabalho de configuração, mas depois disso, você saberá que os pacotes resultantes funcionarão sem dependências surpresa aparecendo acidentalmente.

E você precisa do gcc em seu ambiente de produção? Não há nadaerradoem tê-lo lá por si só (os invasores copiarão em seus próprios binários), mas geralmente a produção deve ser o mais focada possível.

informação relacionada