Когда вы скомпилируете исполняемый файл C ++, который имеет зависимости (библиотеки), они поступают либо в статическом , либо общей форме (игнорируя вид только для заголовка). Затем вы можете принять их на них либо статически, либо динамически с тем, что вы создаете. Но это кажется правильным только в некоторой степени, так как, даже для самых простых программ, некоторые зависимости, например, libstdc ++. Итак, (что обычно сочетается с какой -то конкретной версией в вашей системе), Glibc.so и т. Д.
Это имеет смысл для меня, Поскольку код C ++ должен запускать «где -то», то есть Main не просто волшебным образом вызван, поэтому код, который фактически вызывает Main , должен быть где -то и находится в Glibc.so (вероятно?). Точно так же стандартная реализация C ++ должна быть где -то где -то, то есть Libstdc ++. Итак, .
Что мне не ясно, так это то, как «отделены» эти вещи друг от друга. Обычно ваше распределение Linux поставляется с какой -то версией GCC , давайте назовем это , но вы, конечно, свободны установить любые другие вместе с ним, скажем, b . Конечно, версия B принесет свою версию libc.so.b , libstdc ++. So.b , libgcc_s.so и т. Д.
Теперь я строю исполняемый файл с GCC-B , вызовите его b.out . Запуск ldd на нем показывается (при условии, что я ничего не указал), что это B.Out требует libc.so.b , libstdc ++. So.b и т. д., если я возьму b.out и перемещаю это в систему только с инструментом A , то, на мой взгляд, я не смогу запустить ее, так как я пропускаю *.so.b .
Но дело в том, что, кажется, иногда я способен, а иногда нет.
Я знаю что ответ находится где -то в отношении (g) libc.so и libstdc ++. Итак, , а также все возможные флаги (
Код: Выделить всё
-static
Я ищу справочный запрос, так как я уверен, что я не первый человек, который когда -либо упал на это. Конечно, если кто -то готов ответить прямо здесь, то я более чем готов читать (но я не смог найти что -то удовлетворяющее на переполнении стека), но я уже был бы рад просто получить какой -то указатель, где я может прочитать об этом.
Подробнее здесь: https://stackoverflow.com/questions/793 ... t-toolchai