2010-06-18 5 views
10

Pourriez-vous expliquer comment fonctionne la liaison avec l'option -l pour les fichiers .la? Dans la mesure où mon expérience atteint - j'ai seulement lié aux fichiers de bibliothèque statique (.a).Option gcc -l et fichiers de bibliothèque .la

Maintenant, j'ai jeté un oeil à certains Makefiles généré par Qt et je n'arrive pas à comprendre comment l'éditeur de liens utilise/ouvre le fichier libQtCore.la, quand le commutateur -l QtCore est spécifié, au lieu de chercher libQtCore.a. En outre, le manuel gcc indique que le commutateur -l [nom de la bibliothèque] inclura lib [nom de la bibliothèque] .a, et non lib [nom_bibliothèque] .la.

+0

Je ne connais pas l'extension '.la'. Que dit 'file yourfile.la'? Peut-être que c'est juste la même chose qu'une archive d'objet et peut être renommé '.a' – sellibitze

Répondre

12

.la Les fichiers sont autant que je sache libtool junk et ne devraient pas être liés manuellement. Ils sont utilisés en interne par libtool pour quelque raison que ce soit. Vous devez créer un lien vers le fichier *.a. Dans une installation Qt/build, il devrait y avoir *.a fichiers à lier.

+0

comment compiler avec .la afin de créer une bibliothèque statique par exemple example.la – HMS

+1

@Muhammad Comme je l'ai dit, les fichiers' * .la' sont indésirables . Ce ne sont pas des bibliothèques statiques. Ouvrez-en un, vous verrez que c'est un tas de texte. Vous voulez les fichiers '* .a'. – rubenvb

Questions connexes