Shared / Dynamic Libraries
Shared or
dynamic library – in Windows, DLL –
binaries are files that allow multiple programs to use the same library of functions or resources without having to include them in each program’s executable file.
This helps reduce memory usage and disk space, as well as making it easier to update libraries without recompiling all dependent programs.
They are more complicated to use than static libraries, but are sometimes necessary for certain applications.
For example, to use C, C++, Fortran, etc. binaries from Python, shared libraries are required to load the compiled code at runtime in Python.
The shared library binary file extensions are typically .so
on Linux, .dylib
on macOS, and .dll
on Windows.
2025
- 2025-09-27 – CMake / Meson force shared library
2024
- 2024-12-26 – Static linked executable
- 2024-12-23 – CMake / Meson run check DLL Hell
- 2024-02-19 – CMake TARGET_RUNTIME_DLL_DIRS for CTest
2023
- 2023-09-04 – List symbols in library / object file
- 2023-07-24 – Dynamic libraries and CMake
- 2023-03-27 – Matlab loadlibrary C interface
- 2023-03-23 – Windows shared library caveats
2022
- 2022-02-17 – CMake shared libraries on Visual Studio / oneAPI
2020
- 2020-02-13 – Benefits of CMake Object Libraries