I have a Visual Studio 2005 solution with several projects that build independently of each other. The main project statically links the other projects. I'm getting very strange STL vector corruption in one of those statically-linked libraries. For example, I declare a std::vector and then perform a sort( thatVector.begin(), thatVector.end() )
, but when I debug it and look at the disassembly, I see this:
std::vector<SomeOtherClass<SomeOtherTemplateType>,std::allocator<SomeOtherClass<SomeOtherTemplateType> > >::begin
The incredibly odd thing is that SomeOtherClass
and SomeOtherTemplate
are declared in the main project, so this library should have absolutely no knowledge of them whatsoever.
I've tried freezing all other threads, thinking that perhaps one of them was corrupting thatVector
, but no dice. I'm at a complete loss. Has anyone experienced something like this?
Compile info: - main program /Zi, custom optimization (basically a debuggable release build) - static library /Zi, /Od
Link info: /DEBUG