J'ai un projet basé sur C++ (beaucoup de fichiers sources) compilé en utilisant gnu make via un makefile. J'ai une application qui relie une bibliothèque, disons mylib. Maintenant, mylib appartient à un autre développeur. Je vois 2 fichiers présents dans le chemin où les fichiers binaires de bibliothèque sont générés à savoir libmylib.so (objet partagé) et libmylib.a (fichier archive bibliothèque statique)Avec quelle bibliothèque serait-il lier - objet statique ou partagé
Mon application makefile ci-dessous a l'option de liaison pour relier la bibliothèque mylib
LDFLAGS + = - l: mylib ...
question est la version de la bibliothèque mylib serait liée dans mon application exécutable
est-ce que l'objet partagé libmylib.so ou version statique libmylib.a?
Comment serait-il décidé, y aurait-il une autre option de makefile pour gouverner cela?
Je pense que cela dépend de la plate-forme/compilateur, mais IIRC 'gcc' par défaut à dynamique sauf si -static' est spécifié. –