¿Cómo puedo implementar un programa C ++ 11 (con dependencias) en CentOS 6, cuyo GCC es C ++ 03?
GCC es excelente con la compatibilidad ABI siempre que use el mismo estándar C ++ [1]
Pero me sorprende que si una biblioteca compartida compilada por GCC 4.3 en modo C ++ 03 expone, por ejemplo, unstd::string
, esto va a ser diferentestd::string
de lo que entiende un ejecutable compilado por GCC 4.8 en modo C ++ 11.
La razón por la que pregunto es que estoy planeando implementar un programa compilado por GCC 4.8 en modo C ++ 11 en CentOS 6, cuyo GCC empaquetado máximo es 4.3 ... y algunas de las bibliotecas compartidas (ya sean bibliotecas de C ++ de terceros o más cosas a nivel de sistema) presumiblemente, por lo tanto, todas serán C ++ 03. Pero si ese fuera el caso, nunca podríamos implementar ningún programa C ++ 11 en distribuciones de Linux más antiguas, lo que parece poco probable.
¿Soy ingenuo al pensar que podría haber un problema aquí? Y, si lo hay, ¿cómo puedo resolverlo?