LINUX.ORG.RU

История изменений

Исправление Sylvia, (текущая версия) :

теперь о нюансах... точнее о рантайме

рантайм библиотеки следует иметь системно от самой свежей версии,
иначе будете ловить неразрешенные символы, скорее всего в libstdc++.so.6 , но возможно что и еще где-то словите.

Опять же касательно -lstdc++
(я сейчас от этого отказалась, ибо лениво, но направление укажу)
для 32bit создаете

libstdc++.so

это будет текстовый файл, в него пишете

OUTPUT_FORMAT(elf32-i386)
GROUP ( /путь/к/libstdc++.so.6 /usr/local/gcc-10/lib/libstdc++.a /usr/local/gcc-9/lib/libstdc++.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )

для x86_64 сами посмотрите как корректно записать OUTPUT_FORMAT

идея в том, чтобы перечислить все libstdc++.a для линкера в убывающем порядке, тогда даже при использовании самой старой версии CXX вы не получите ошибок отсутствующих символов, они будут взяты как статика из нужной версии libstdc++.a


ну и наверное не стоит сейчас уже использовать GCC 3.4.x и аналогичные древности... они сегфолтят даже собранный с ними bash

Исходная версия Sylvia, :

теперь о нюансах... точнее о рантайме

рантайм библиотеки следует иметь системно от самой свежей версии,
иначе будете ловить неразрешенные символы, скорее всего в libstdc++.so.6 , но возможно что и еще где-то словите.

Опять же касательно -lstdc++
(я сейчас от этого отказалась, ибо лениво, но направление укажу)
для 32bit создаете

libstdc++.so

это будет текстовый файл, в него пишете

OUTPUT_FORMAT(elf32-i386)
GROUP ( /путь/к/libstdc++.so.6 /usr/local/gcc-10/lib/libstdc++.a /usr/local/gcc-9/lib/libstdc++.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )



идея в том, чтобы перечислить все libstdc++.a для линкера в убывающем порядке, тогда даже при использовании самой старой версии CXX вы не получите ошибок отсутствующих символов, они будут взяты как статика из нужной версии libstdc++.a


ну и наверное не стоит сейчас уже использовать GCC 3.4.x и аналогичные древности... они сегфолтят даже собранный с ними bash