Ну, ссылки - это широкая тема, и для понимания всего этого часто требуется огромное время и опыт.
Чтобы ответить на ваш вопрос, никто не меняет зависимости библиотек или файлов в одночасье.Даже если они изменяются, они предоставляют предыдущую версию вместе с новой версией и обеспечивают обратную совместимость с предыдущей версией этой библиотеки (то есть старый API будет работать).Если они добавили несколько новых зависимостей для обеспечения новой поддержки или функций, они подробно описывают, какие новые файлы вам нужны и как создать эту новую библиотеку.
Во многих случаях, если вы не хотите никакой новой поддержки, используйте старую версию самой библиотеки.Но обычно в новой библиотеке есть некоторые исправления ошибок, и лучше перейти на новую версию.
Мы используем библиотеки для сокращения нашей рабочей нагрузки, но удивительно, что мы увеличиваем некоторую рабочую нагрузку для создания сторонних библиотек, отслеживаяизменений и ошибок в этих библиотеках, исправления ошибок компоновки и т. д. К сожалению, иметь дело с библиотеками не так просто, как в случае Java или npm.
Я пишу скрипт в Linux, который отслеживает все.Но этот сценарий сам по себе не автоматизирован, но он уменьшает большую часть моей рабочей нагрузки.Я думаю, что вы также можете сделать что-то подобное.
Просто чтобы прояснить, проблема в том, что если 100 приложений используют libC, это становится большой проблемой, если libC или одна из ее зависимостей должна ссылаться на новую библиотеку..все приложения должны быть изменены, или у них есть проблемы со связыванием.Я просто ищу способ ограничить эту проблему
В этом случае легко, просто соберите новую библиотеку на своем компьютере сборки и укажите путь к файлу в LD_LIBRARY_PATH.Я понимаю, что это не так просто, как сказано, но, как упоминалось ранее, работать с библиотеками не так просто, как в случае с Java или npm.Возможно, вам также придется внести некоторые изменения в сценарий, который вы используете для поддержки вашей сборки.Я не вижу никаких ярлыков.