Не уверен - в своих экспериментах я обнаружил, что определенные порядки библиотек с циклической зависимостью успешно связываются, но я не уверен, почему. Я читаю ваш вопрос как вопрос о том, как справиться с ситуацией, но если вам более интересно узнать, почему это удалось, я бы предложил создать минимальный тестовый пример (должен быть довольно тривиальным) и представить вопрос, явно спрашивающий, почему это удается. ,

роект состоит из пары статических библиотек, которые связаны на последнем этапе. Теперь у меня есть проблема, чтоважен порядок ссылок библиотеки (иначе я получаю неопределенную ошибку компоновщика символов). Иногда я сталкиваюсь с проблемой, что мне приходится пересортировать связанные библиотеки (-lcommon -lsetup -lcontrol и т. Д.). На данный момент это глупый метод проб и ошибок: пересортировать, скомпилировать, проверить ошибку, пересортировать, скомпилировать и так далее.

Поэтому я написал небольшую программу, которая показывает мне зависимости между библиотеками и генерирует порядок библиотек для связи. Он считывает определенные («T», «B» и т. Д.) И неопределенные символы («U») изнм и удаляетслабые символы («w», «W», «v» и «V») из «неопределенного списка символов». Теперь он определяет для каждого неопределенного символа библиотеку, которая его разрешает.

Но моя программа показывает мне круговые зависимости ... в чем моя ошибка?

Если они действительно существуют, я не смог бы связать вообще ... такчто я упустил, анализируя вывод нм? Или анализ выходных данных НМ не является способом получения этих зависимостей?

libcommon.a:
         U _ZN15HardwareUnit23GetHardwareSerialNumberEv
libhardware.a:
00000484 T _ZN15HardwareUnit23GetHardwareSerialNumberEv
libsecurityaccess.a:
         U _ZN15HardwareUnit23GetHardwareSerialNumberEv
---
libhardware.a:
         U _ZN21ApplicationProfile26GetApplicationSettingsPathERK7QString
libsecurityaccess.a:
00004020 T _ZN21ApplicationProfile26GetApplicationSettingsPathERK7QString
         U _ZN21ApplicationProfile26GetApplicationSettingsPathERK7QString

Ответы на вопрос(2)

Ваш ответ на вопрос