Search code examples
visual-studio-2010visual-c++visual-studio-2012msvcrtmixed-mode

Can a single process load/use mscvr100.dll and msvcr110.dll without causing problems?


An mixed-mode C++ application is built using VS2012, it references the managed DLL Noesis.Javascript.dll (which I believe was built with VS2010) which in turn links at runtime with msvcr100.dll.

I have observed a crash which seems to show the code within the Noesis.Javascript.dll calling library functions from VS2012's msvcr110.dll.

Is it possible to run a single process using two different versions of the C++ runtime libraries or is what happening here the likely cause of the problem? What is the alternative?


Solution

  • As mentioned for instance in this answer, it is practically impossible to combine these binaries. The crash is probably caused by the incompatiblity.

    You could try the following: Project Properties -> General -> Platform Toolset: Visual Studio 2010 (v100).