Ich habe ein Linkproblem.
Um das Problem zu untersuchen, füge ich -t Linker-Flag (gcc -Wl, -t) hinzu, um zu drucken, welche Bibliotheken verwendet werden und welche Objekte aus statischen Bibliotheken verwendet werden.
Es gibt eine statische Bibliothek, die in einer bestimmten Konfiguration einen Satz von Objektdateien verwendet und in einem anderen Satz.
Gibt es einen Weg (wahrscheinlich ld Flag), um zu sehen, warum ein bestimmtes Objekt (welches zuvor undefinierte Symbol in der Objektdatei definiert ist) binär verknüpft ist und anderes aus derselben statischen Bibliothek nicht?
Da Sie der Frage und der Antwort mehr als einen Monat nach Ihrer letzten Bearbeitung ein Kopfgeld hinzugefügt haben, gehe ich davon aus, dass Sie Ihre eigene Antwort nicht mögen.
Wie ich es verstehe, versuchen Sie herauszufinden, welches Objekt (A) bewirkt, dass ein anderes Objekt (B) verknüpft wird.
Wenn Sie die Kompilierung / Verknüpfung ohne B vorhanden (dh nein in der Befehlszeile), dann sollten Sie Fehlermeldungen erhalten, die Ihnen sagen, warum es benötigt wird, die A verweisen.
Wenn sich B in einer Bibliothek befindet, müssen Sie möglicherweise eine spezielle Version dieser Bibliothek erstellen, die B nicht enthält.
Tags und Links compilation gcc linux linker ld