Ahora compilo mi software C++ en una cierta versión anterior de linux (SLED 10) usando el gcc proporcionado y puede ejecutarse en la mayoría de las versiones más nuevas ya que tienen un glibc más nuevo. El problema es que el viejo gcc no es compatible con C++ 11 y realmente me gustaría usar las nuevas características.¿Puedo orientarme a Linux antiguo con gcc/clang más nuevo? C++
Ahora tengo algunas ideas, pero estoy seguro de que otras tienen la misma necesidad. Lo que realmente funcionó para ti?
Ideas:
- construcción en el sistema más reciente, de enlace estática a nuevos glibc. (No es posible, ¿no?)
- Construya sobre un sistema más nuevo, compile y vincule con un glibc antiguo.
- Construya sobre un sistema anterior usando un gcc actualizado, enlace contra un glibc antiguo.
- Construya en un sistema más nuevo, enlace dinámico a glibc más nuevo, configure RPath y proporcione nuestro glibc con instalador.
Como beneficio adicional, mi software también admite complementos y tiene un SDK. Realmente preferiría que mis clientes compilaran contra mis bibliotecas sin una gran molestia.
Gracias de antemano. Ideas bienvenidas, soluciones probadas preferidas.
Es este mi opción 3 ? ¿Un enlace gcc más nuevo contra una libc más antigua, o estás sugiriendo que enlace contra una nueva libc y lo distribuya? – David
Probablemente esté más cerca de su opción 4. No distribuya libc o libstdC++, asegúrese de que las versiones correctas estén instaladas en la máquina de destino. –