Nunja, wenn da dass @ nicht wäre, würde man die Ausgabe vom
zusammengesetzten Kommando wohl sehen. DIe lib sollte aber da drin sein.
Normalerweise würde ich ja die Reihenfolge der Libs vermuten, aber mit
dem start-group und end-group sollte das eigentlich kein Problem sein.
Ich verwende zwar lieber whole-archive, da merkt man dann sofort falls
es Probleme mit doppelten Symbolen und so gibt, und hat keine Probleme
bei komplett unabhängigen Codeteilen die aber trotzdem gebraucht werden.
Ich hätte hier die Library selbst im Verdacht. Schau mal, ob die bei nem
leeren Program selbst sauber linkt:
1 | echo 'int main(){}' > main.c
|
2 | gcc main.c --whole-archive ./lib_verify.a -Wl,--no-whole-archive -o test
|
Und auch mal nachsehen, ob deine Dateien überhaupt drin sind:
Und welche Symbole das hat & braucht:
1 | nm -C /usr/lib/libsupp.a
|
Noch was anderes, wenn du lib_verify.a umbenenst nach libverify.a, dann
kannst du einmal den Librarypfad beim Linker hinzufügen "-L$(LIB_PATH)"
und die lib mit "-lverify" einbinden.