2010-11-25 30 views
2

Je construis des paquets avec autoconf et automake, et je voudrais m'assurer que les bibliothèques sont liées dynamiquement (c'est-à-dire sans liens statiques).Passage à la liaison dynamique

Comment mettre en place les autotools pour forcer la liaison de bibliothèque dynamique?

Répondre

2

Quelque chose comme cela vient à l'esprit:

# Makefile.am 
lib_LTLIBRARIES = libpart.la 
libpart_la_SOURCES = lgpl_chunk.c 

bin_PROGRAMS = prop 
prop_SOURCES = prop.c 
prop_LDADD = libpart.la 

Et assurez-vous que vous construisez toujours une bibliothèque partagée. Meilleur en désactivant les générations statiques par défaut,

 
#configure.ac 
AC_DISABLE_STATIC 
if test "$enable_static" != "no"; then 
    echo "Sorry Dave, I can't let you do that"; 
    exit 1; 
fi; 
0

Vous ne devez pas nécessairement compter sur autotools pour cela. Vous pouvez utiliser dlopen ou un autre service pour charger la bibliothèque dynamique.