At some point, Debug stopped starting in the studio with the message:
The program cannot be started because the computer does not have
MSVCP140D.dll. Try reinstalling the program.
If you add the path C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ redist \ debug_nonredist \ x86 \ Microsoft.VC140.DebugCRT
to Debugging
– Environment
– PATH
, then it starts normally. Previously, this was not required. What could have broken?
UPD
Tried creating a new empty console project, same situation.
UPD
The
Debug
variant with a static runtime (as suggested in the comments by Duracell) runs fine as expected. But Release
works with both statically linked runtime and dll.
Answer 1, authority 100%
Summarizing the investigation and dialogue in the comments:
The msvcp140d.dll
library is part of Visual C++, it is debug version of the C++ runtime library and is installed when you install Visual Studio on your computer. They are usually found in % WINDIR% \ System32
for 32-bit systems and % WINDIR% \ SysWOW64
for 64-bit systems (for 32-bit programs). Since this is a more or less public place, the library can be unintentionally removed by some other application, which apparently happened.
The library version is in & lt; Visual Studio directory & gt; \ VC \ redist \ debug_nonredist \ x86 \ Microsoft.VC140.DebugCRT
and can be copied from there. But the best solution is to use the repair
option of the Visual Studio installer, which will deliver the missing files.
Note that the debug version of the msvcp140d.dll
library (unlike the release msvcp140.dll
) is not part of the redistributable. Therefore, if you want to deploy components on a client machine that require a debug version of the runtime, it is best to either statically link or carry a copy of the files from Microsoft.VC140.DebugCRT
in the installation directory.
More information on MSDN: Preparing a Test Machine To Run a Debug Executable .