Есть ли способ восстановить двоичный файл, связанный со статической библиотекой - PullRequest
0 голосов
/ 28 сентября 2018

Я работаю над программным обеспечением, которое создается на RHEL с использованием Makefile.Система сборки производит как .a (статические библиотеки), так и .so (динамические библиотеки).Эти библиотеки являются независимыми частями огромной программы.

Если я изменю исходный код двоичного файла и запущу сборку, я перестрою двоичный файл, и все будет хорошо.Но если я изменю исходный код внутри библиотеки .a (один из файлов, создающих библиотеку) и попытаюсь собрать, система сборки восстановит только библиотеку.Он не будет повторно связывать двоичный файл, на который ссылается файл .a.

Есть ли какой-либо специальный флаг, который я могу использовать, чтобы заставить команду make повторно связать двоичный файл, который необходимо повторно связать?

ТИА!

1 Ответ

0 голосов
/ 28 сентября 2018

make - это просто инструмент, который выполняет make-файл.Фактические правила сборки являются частью make-файла, и автор make-файла должен написать правильные rules .В вашем случае кажется, что автор make-файла не указал список статических библиотек как обязательное условие (зависимость) в правиле, которое создает двоичный файл.Это означает, что make не будет автоматически связывать бинарный файл при изменении статической библиотеки.

В зависимости от сложности вашей системы сборки, это может быть довольно сложно исправить, или это может быть просто добавлением libfoo.a к списку зависимостей основного двоичного файла.

...