Подтвердить что ты не робот

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

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

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

Идеи:

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

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

Спасибо заранее. Идеи приветствуются, рекомендуется проверенные решения.

4b9b3361

Ответ 1

Создайте новый gcc. Либо установите новый компилятор на старом компьютере или компиле на новом компьютере и установите необходимые динамические библиотеки на старой машине.

Обратите внимание, что несколько версий libc (а также libstdС++) поддерживаются на одной машине, так как они обычно версируются (то есть libc.so.5, libc.so.6 и т.д.)