2010-11-25 9 views
2

Ich baue einige Pakete mit autoconf und automake, und möchte sicherstellen, dass Bibliotheken dynamisch verknüpft sind (d. H. Keine statischen Links).Wechsel zur dynamischen Verknüpfung

Wie sollte man die Autotools so einrichten, dass dynamische Bibliotheksverknüpfungen erzwungen werden?

Antwort

2

So etwas wie dies in den Sinn kommt:

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

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

Und stellen Sie sicher, dass Sie immer eine gemeinsame Bibliothek aufzubauen. Am besten durch statische Deaktivierung baut standardmäßig

 
#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

Sie müssen nicht unbedingt auf Autotools für diese angewiesen. Sie könnten dlopen oder eine andere Einrichtung verwenden, um die dynamische Bibliothek zu laden.