ranlib et bibliothèque statique

J’essaie de lier une bibliothèque statique que j’ai créée, mais j’obtiens cette erreur.

libmine.a: could not read symbols: Archive has no index; run ranlib to add one 

J’ai essayé de faire ranlib libmine.a mais rien n’a changé, cela donne toujours la même erreur. Comment puis-je résoudre ce problème?

Pour voir les symboles dans une archive, utilisez nm.

 nm -s libmine.a 

Les points d’entrée dans les sous-routines doivent être étiquetés “T” comme dans

 00000000 T _sub1
 00000019 T _sub2

Quels commutateurs avez-vous utilisés dans “ar” pour créer la bibliothèque statique? J’utilise habituellement “ar -r” comme dans

 ar -r libmine.a mine.o yours.o 

Si vous rencontrez toujours des problèmes, ajoutez l’option “-s”

 ar -s -r libmine.a mine.o yours.o 

Assurez-vous également qu’il n’y a pas d’autre fichier “libmine.a” dans le chemin ou créez un chemin explicite vers votre “libmine.a”. Il est possible que l’éditeur de liens récupère un “libmine.a” différent.