Switching to dynamic linking
-
28-09-2019 - |
Question
I'm building some packages with autoconf and automake, and would like to make sure libraries are dynamically linked (i.e. no static links).
How should one set up the autotools to force dynamic library linking?
Solution
Something like this comes to mind:
# Makefile.am lib_LTLIBRARIES = libpart.la libpart_la_SOURCES = lgpl_chunk.c bin_PROGRAMS = prop prop_SOURCES = prop.c prop_LDADD = libpart.la
And make sure that you always build a shared library. Best by disabling static builds by default,
#configure.ac AC_DISABLE_STATIC if test "$enable_static" != "no"; then echo "Sorry Dave, I can't let you do that"; exit 1; fi;
OTHER TIPS
You don't necessarily have to rely on autotools for this. You could use dlopen or some other facility to load the dynamic lib.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow