Liaison avec une version spécifique de la bibliothèque partagée sous Linux
-
05-07-2019 - |
Question
Mon processus de construction se compose du générateur de Makefile qmake de Qt et de l'utilitaire make typique fourni avec linux.
Mon application est composée de quelques bibliothèques partagées et l'application principale est liée à celles-ci.
Comment puis-je appliquer le schéma de gestion de versions Linux typique sur mes bibliothèques? (Utilisez la version 2 - > link contre foo.so.2 qui pointe vers foo.so.2.y.z avec un lien généré par ldconfig).
La réponse ne doit pas nécessairement être spécifique à mon processus de construction.
La solution
Votre bibliothèque doit s'appeler libfoo.so.2.yz
, avec des liens symboliques libfoo.so.2
et libfoo.so
. montrant à cela. La bibliothèque doit être créée à l'aide de -soname libfoo.so.2
dans la ligne de commande de l'éditeur de liens (ou -Wl, -soname, libfoo.so.2
dans la ligne de commande gcc ).
J'espère que ça aide!