Puedo ? - Desarrollar C/C++ en Fedora 14 usando GCC 4.4 e implementar en CentOS 5.2 usando GCC 4.4

Puedo ? - Desarrollar C/C++ en Fedora 14 usando GCC 4.4 e implementar en CentOS 5.2 usando GCC 4.4

Mi entorno de producción ejecuta las versiones CentOS 5.2 y 5.5. Tengo que desarrollar una nueva herramienta usando C/C++ e implementarla en este entorno de producción.

Estaba planeando usar Fedora 14 en mi escritorio con GCC 4.4 para realizar el desarrollo con Eclipse IDE. Y luego quiero implementar los ejecutables en CentOS 5.2 o 5.5. El entorno de producción también tendrá GCC 4.4.

Dado que tanto Fedora como CentOS están basados ​​en RHEL, pensé que esto era posible.

Entonces ¿puedo hacer esto?

¿O también necesito tener CentOS 5.2/5.5 en mi escritorio de desarrollo?

gracias amit

Respuesta1

Si construye binarios estáticos, entonces debería poder construir sobre prácticamente cualquier cosa y ejecutarlo prácticamente en cualquier lugar. Los detalles exactos sobre cómo se construyen cosas estáticas se responderían mejor en stackoverflow.

Sin embargo, construir en un entorno diferente parece un poco tonto. ¿Por qué no crear usted mismo una máquina virtual o un chroot que sea idéntico a la producción en su máquina de desarrollo? De esa manera, será mucho menos probable que experimente incompatibilidades extrañas o inesperadas.

Respuesta2

Si vincula dinámicamente con bibliotecas que no están presentes en centos, entonces deberá proporcionar las bibliotecas también

Si proporciona el código fuente y lo compila en el cuadro centos, deberá proporcionar los encabezados o archivos fuente que utilice en su código. Si no usa nada especial (solo usa, por ejemplo, libc), no es necesario proporcionar bibliotecas adicionales.

Una cosa más con la que debes tener cuidado es la arquitectura de la CPU: si tienes código para 64 bits, no funcionará en 32.

Respuesta3

poderhaz esto, pero no deberías.

Es mejor construir sus paquetes de producción finales en un entorno limpio, lo que ciertamente no será su escritorio de desarrollo. Dado que CentOS es gratuito, no hay razón para no tener un entorno de compilación especial que se limpia cada vez desde el inicio o se restaura a partir de una instantánea en buen estado. Quizás sea un poco de trabajo de configuración, pero después de eso, sabrá que los paquetes resultantes funcionarán sin que surjan dependencias sorpresa accidentalmente.

¿Y necesita gcc en su entorno de producción? No hay nadaequivocadotenerlo allí per se (los atacantes copiarán en sus propios archivos binarios), pero en general la producción debe estar lo más enfocada posible.

información relacionada