locked
how to link msvcp110.dll while in executable folder RRS feed

  • Question

  • I made a c++ project in visual studio 2013, it needs msvcr110d.dll, msvcp110d.dll and msvcp120d.dll to run. On another computer (they both run windows 7 and are both 64 bit) it asked for these 3 dlls. If you put these dlls in the folder where visual studio puts the executable file and than link in project properties to it so it doesn't need them to be in the system32 folder, how do you need to link it? For when you don't have administer rights and can't install the distributable package from microsoft?

    I tried putting them all in the executable file folder and in the project properties i added $(OutDir) to configuration properties, C/C++, general, additional include directories. On the second computer, without the dlls, it didn't asked for dlls anymore but gave an error:The Application was unable to start correctly (0xc000007b), on the computer with visual studio and the dlls it just worked.
    How can this be fixed? And is it legal when I only use it for personal computers, if I share the application with no one else?

    Thursday, June 19, 2014 8:48 PM

Answers

  • Before you deploy your program on another computer, rebuild in RELEASE mode so that there are no dependencies on msvcr110d.dll or any of the other DEBUG runtime DLL's. Those DLL's are not redistributable.

    Better yet, consider linking your application statically so that there are no dependencies on the DLL's at all. This way you can avoid installing the VC++ runtime distributables.

    Thursday, June 19, 2014 9:08 PM