Могу ли я использовать более старый Linux с более новым gcc/clang? С++

Прямо сейчас я компилирую свое программное обеспечение C++ на определенной старой версии Linux (SLED 10 ), используя предоставленный gcc, и оно может работать на большинстве новых версий, поскольку они имеют более новую glibc. Проблема в том, что старый gcc не поддерживает C++11, и мне бы очень хотелось использовать новые возможности.

Теперь у меня есть некоторые идеи, но я уверен, что у других есть такая же потребность. Что на самом деле сработало для вас?

Идеи:

  1. Сборка на более новой системе, статическая ссылка на более новый glibc. (Невозможно, верно?)
  2. Создайте новую систему, скомпилируйте и свяжите ее с более старой версией glibc.
  3. Создайте старую систему, используя обновленный gcc, свяжите со старым glibc.
  4. Создайте новую систему, динамическую ссылку на новый glibc, установите RPath и предоставьте нашему glibc установщик.

В качестве бонуса мое программное обеспечение также поддерживает плагины и имеет SDK. Я действительно предпочел бы, чтобы мои клиенты могли компилировать мои библиотеки без особых хлопот.

Заранее спасибо. Приветствуются идеи, предпочтение отдается проверенным решениям.

13
задан David 3 July 2012 в 21:16
поделиться