@sitev_ru
sitev.ru - мой блог ...

Как скомпилировать в один большой запускной файл?

Компилирую под линукс запускаемый файл, он зависит от большого количества so-библиотек. Можно ли их все скомпилировать в один большой запускаемый файл?
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ответы на вопрос 2
  • он зависит от большого количества so-библиотек.

    У вас два варианта:
    1. Использовать статические варианты библиотек вместо динамических (so) - это то, что предлагает Vitaly.
    2. Продолжать собирать как сейчас, но научиться собирать нормальные пакеты под нужные вам дистрибутивы, с нормальным описанием зависимостей - тогда системный пакетный менеджер при установке вашего пакета поставит все нужные вам зависимости.

    Второй вариант сложнее, но предпочтительнее, т.к. в случае критических уязвимостей в библиотеках их можно будет обновить независимо без обновления вашего приложения. Когда вы линкуете статически, очевидно что уязвимый код в вашем бинарнике можно обновить только пересборкой этого бинарника с новой версией библиотеки, т.е. без вашего участия (если код закрыт) уязвимость не устранить. Критично ли это для вас или нет - решать вам, зависит от важности вашего приложения.
    Ответ написан
  • vt4a2h
    @vt4a2h
    Software ingeneer (C++/Qt/boost)
    Да. Читайте про статическую линковку.
    Помимо этого, можно просто все нужные зависимости поставлять с исполняемым файлом.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы