Motivé uniquement par le désir de mettre en valeur le peu de technicité
des intervenants de cette liste en regard du puits de science que je
suis, je pose la question (bien que je connaisse, *évidemment*, la
réponse): c'est quoi (si il y en a) la/les différence(s) entre .a et .ao ?
Ces connaissances sont acquises quand on programme en C, typiquement.
Les libraries xxx.so (comme Shared Object) sont trouvables dans les paquets libxxx.
Quand un programme est lié à un fichier "libxxx.so" il n'a pas besoin d'être
recompilé si le fichier ".so" est mis à jour (et si la mise à jour ne casse pas la compatibilité avec la version d'avant).
A contrario, un fichier "libxxx.a" (comme Assembly) n'est pas partageable.
On le trouve potentiellement dans un paquet libxxx-dev (mais pas toujours, comme dit précédemment).
Un programme qui est compilé avec les fichiers ".a" (Assembly) d'autres librairies, va embarquer ces fichiers
dans le binaire résultant. Ce n'est plus partagé. Il faut le recompiler si une des librairies doit être mise à jour.
(
xxx.ao ça n'existe pas, le post original écrit [ao] pour signifier "a ou o" je crois)