See Challenges of shared library environments, Part 2, why and when this is necessary to use.
atexit as it should be, just under a different name.
You must statically link this library with your executable. Ensure that global symbols are exported and that the whole library is linked to the executable and not optimized away by the linker.
This is a mulle-sde project.
It has it's own virtual environment, that will be automatically setup for you once you enter it with:
Now you can let mulle-sde fetch the required dependencies and build the project for you: