MSVCP120d.dll missing
From the comments, the problem was caused by using dlls that were built with Visual Studio 2013 in a project compiled with Visual Studio 2012. The reason for this was a third party library named the folders containing the dlls vc11, vc12. One has to be careful with any system that uses the compiler version (less than 4 digits) since this does not match the version of Visual Studio (except for Visual Studio 2010).
- vc8 = Visual Studio 2005
- vc9 = Visual Studio 2008
- vc10 = Visual Studio 2010
- vc11 = Visual Studio 2012
- vc12 = Visual Studio 2013
- vc14 = Visual Studio 2015
- vc15 = Visual Studio 2017
- vc16 = Visual Studio 2019
The Microsoft C++ runtime dlls use a 2 or 3 digit code also based on the compiler version not the version of Visual Studio.
- MSVCP80.DLL is from Visual Studio 2005
- MSVCP90.DLL is from Visual Studio 2008
- MSVCP100.DLL is from Visual Studio 2010
- MSVCP110.DLL is from Visual Studio 2012
- MSVCP120.DLL is from Visual Studio 2013
- MSVCP140.DLL is from Visual Studio 2015, 2017 and 2019
There is binary compatibility between Visual Studio 2015, 2017 and 2019.
Missing MSVCP120D.dll but don't have Visual Studios anymore
Incase you didn't know, MSVCP120D.dll is a dynamic link library for the IDE "Microsoft Visual C++ 12.0", which I believe is from Visual Studio 2013.
If you know the version of Visual Studio that you used (You specified 2010 and 2012 in the tags), you can use the following link to download the toolchain, Visual C++: https://support.microsoft.com/en-gb/kb/2977003
Another option is reverse-engineering, but this will be an incredibly difficult process and cannot give you the source that you originally used to create the debug version. Your best bet is to find the version you're after, if not re-writing it.
This installation, should you have the administrator privileges to perform it, should cause the error to cease, as your system will be able to find it in Sys32/Syswow64.
Edit: I would be vary wary to download a .dll from any other site other than Microsoft's official site, malicious DLLs are readily available from dodgy sites.
Visual Studio missing msvcr120d.dll and msvcp120d.dll error
You are linking against the Debug CRT library (indicated by the trailing d). Those aren't redistributable, and are only available on systems, where Visual Studio is installed.
The solution is to compile a release configuration. A release configuration links against the Release CRT library, that is part of the Visual C++ Redistributable Packages for Visual Studio 2013, and can be deployed alongside your application.
A release configuration can be built by selecting Release from the configuration dropdown list:
C++ MSVCP120D.DLL is missing
I just installed both vcredist_x86
and cvredist_x64
and it works.
Using VS2015 Express, deleted VS2013 Community, can't run MSVCP120d.dll missing
The d library is not "redistributable" and only exists in the development environment.
My recommendation is to use the depends tool (drag executable into depends.exe and it shows the dll dependency), which is part of the windows kits SDK to open your executable.
That should highlight a DLL which was built with the earlier 120d configuration, and can be re-built.
I think the VS 2013 is a side-by-side assembly, and has very strange locations (windows\system32\winsxs).
Related Topics
Differencebetween Wm_Quit, Wm_Close, and Wm_Destroy in a Windows Program
Replacing Ld with Gold - Any Experience
Getline() Does Not Work If Used After Some Inputs
C++11 Static_Assert and Template Instantiation
How to Set the Baud Rate to 307,200 on Linux
Keyboard Input & the Win32 Message Loop
Is the Data in Nested Std::Arrays Guaranteed to Be Contiguous
When Including Header Files, Is the Path Case Sensitive
Where Do Object File "Version References" Come From
Fast Fixed Point Pow, Log, Exp and Sqrt
How to Make This C++ Object Non-Copyable
What Is Data Alignment? Why and When Should I Be Worried When Typecasting Pointers in C
Changing Function Access Mode in Derived Class