c++visual-c++binarylinker

Why do I need special libraries (binaries) built for each Visual C++ version?


There are a lot of C++ libraries (most?) that come with special binaries built for each Visual C++ version (2003, 2005, 2008, 2010).

What's the problem about linking a C++ library built for Visual C++ 2008 with Visual C++ 2010?


Solution

  • Each Visual Studio version carries an updated (and different) version of the C and/or C++ runtime. This msdn page (under: "What problems exist...") explains quite nicely what the issue is. What is described there for msvcrt.dll <-> msvcrt10.dll is valid for every msvcrtXX.dll there is.

    It should not present any noteworthy issues, but using the version of the binary for the appropriate version of VS is recommended.