Существует ли инструмент для определения того, какие другие объектные файлы необходимы для компоновщика для разрешения всех символов?
Нет. Создание такого инструмента не составит труда (вы хотите найти связанные компоненты в графе зависимостей), но проблема не является общей.
Ручное тестирование каждой возможной комбинации объектных файлов даже не кажется разумным .
Похоже, wget
состоит из примерно 100 исходных файлов. Используя все возможные перестановки, вам нужно будет только попробовать свою ссылку 100!
раз, что на самом деле слишком много комбинаций, чтобы попробовать.
Как прокомментировал @kaylum, разработчики не собирались wget
как это библиотека многократного использования, поэтому нет гарантии, что решение найдется, даже если вы попробуете каждую возможную комбинацию.
Также обратите внимание, что ссылка на источники wget
накладывает лицензионные ограничения на вашу конечную программу (вам придется выпустить его под GPLv3).
Когда я пытаюсь связать свою программу со всеми возможными объектными файлами, полученными при компиляции проекта, я сталкиваюсь со следующей ошибкой - множественное определение.
То есть ожидается : и ваша собственная программа, и wget/src/main.c
определяют функцию main
.
Означает ли это, что в общем случае мне нужно выбрать только значимое подмножество объектных файлов, которые я получаю после компиляции какого-либо проекта, а затем создать свой исполняемый файл из них?
Да. И в целом не гарантирует, что подмножество, удовлетворяющее вашим требованиям, даже существует.