I have created a system that automatically registers function objects (functors) into a map based on the constructor of an global instance.
In each cpp file that def
I believe your object file from the library is not getting linked. Look how Microsoft handles the acrtused symbol (search case insensitive, I do not remember the case and there's no MSVC on this machine).
Once you know how they handle acrtused, do the same thing with your global variable to force it to get linked.
Will update if I find the answer.
Here are a couple of possibilities to force things to link and initialize in a somewhat forced order.
Look here for a GCC answer.
Look here for MSVC10.