Linking against a specific shared library version in linux
-
05-07-2019 - |
Question
My build process consists of Qt's qmake Makefile generator and the typical make utility bundled with linux.
My application consists of a few shared libraries and the main application is linked against them.
How can I apply the typical linux versioning scheme on my libraries? (Use version 2 -> link against foo.so.2 that points to foo.so.2.y.z with an ldconfig generated link).
The answer doesn't have to be specific for my build process.
Solution
Your library should be named libfoo.so.2.y.z
, with symlinks of libfoo.so.2
and libfoo.so
both pointing to that. The library should be created using -soname libfoo.so.2
in the linker command line (or -Wl,-soname,libfoo.so.2
on the gcc command line).
Hope that helps!
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow