I swear I fixed that. Or it was working yesterday and all I did was rebuild. Or it works on my machine but not on yours. Or it only screws up on a Sunday. I've traced and chopped and asked the code until I'm blue in the face, but this thing is the result of an evil curse cast by the faerie folk.
Therefore,
Put not your faith in faerie. Something mundane is causing the problem. You're just looking in the wrong place. Wrench things around. Change the order of the link libraries. Check out environment variables and registry settings. See what else runs on a Sunday. Try a different version of your build tools. The bug is out there, somewhere.
It turns out that a certain C++ compiler manufacturer who shall remain nameless, but they're not in business anymore, had a bad hashing algorithm in their name mangler. The symptom was that you got intermittent stack corruption if you built a module with exactly 13 - not 12, not 14, but 13 - characters in its name. It took over 6 weeks of careful work to find, but we found it. I'll lay money that your "evil curse" is going to be easier to find than that. --Peter Merel
See original on c2.com