Quite commonly know problem is that if you have a 3rd party static library and you switch to new version of VC++, you have to rebuilt the 3rd party library. There are many issues when you try linking old static libs with new code. Most of them are unresolved external errors from linker and/or runtime crashes. Similar problem is when a DLLs is built with another version of compiler. In this scenario one has to follow strict rules (no export of version X of library Y specific types, correct memory allocation/deallocation, etc) and in most cases it is possible to achieve this goal. Clearly using something like COM or .Net assembly is the best solution to this problem, but it looks like many devs out there are still looking for a solution to the original problem.
So here is the scenario: I have 3rd party static library. I cannot rebuilt it. I have to use. What do I do about it?
In this post I am not going to answer these questions, I would like to hear your experiance and your solution to this problem. And if you would like VC++ 9.0 to fix this, what is your fix and why do you think this is the right way to fix it? I am personally very curiose what folks are thinking about this problem before we start working on a solution. Thanks upfront for any feedback on this. If you would like me to not publically publish your comment, please say so in the beginning of the comment.