From b990733af9d6a07c2130daeb5fd39c75f6804441 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Wed, 9 Jan 2019 16:42:49 +0100 Subject: add examples for dynamic linking / loading one example by doing it manually with an ugly Makefile, another one by using autotools. Signed-off-by: Manuel Traut --- schulung_tools/linking/hello/shared_library.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 schulung_tools/linking/hello/shared_library.txt (limited to 'schulung_tools/linking/hello/shared_library.txt') diff --git a/schulung_tools/linking/hello/shared_library.txt b/schulung_tools/linking/hello/shared_library.txt new file mode 100644 index 0000000..1dd0f9f --- /dev/null +++ b/schulung_tools/linking/hello/shared_library.txt @@ -0,0 +1,20 @@ +# build shared library +gcc -fPIC -shared -Wl,-soname,libhello.so.1 -olibhello.so.1.0.3 libhello.c + +# install shared library +sudo mkdir -p /opt/myfirma/lib +sudo cp libhello.so.1.0.3 /opt/myfirma/lib + +# add custom path to dynamic loader search path +echo "/opt/myfirma/lib" | sudo tee /etc/ld.so.conf.d/myfirma.conf + +# refresh dynamic loader cache +sudo ldconfig + +# verify custom library is in cache +/sbin/ldconfig -p | grep libhello.so.1 + +# compile program using custom library +ln -s /opt/myfirma/lib/libhello.so.1.0.3 libhello.so +gcc -L. -ohello hello.c -lhello +rm libhello.so -- cgit v1.2.3