Reputation: 1646
I have written a C++ program using OpenGl in Visual Studio 2015 for Windows 7. I compiled my code using "release" instead of "debug". The program works fine on my computer, but when I move to another computer the program fails. I get the error message:
The program can't start because MSVCP140D.dll is missing from your computer. Try reinstalling the program to fix this problem.
I would like for my program to work on other computers so that I don't have to install the newest drivers or libraries in order for it to work. I have MSVCP140D.dll on my first computer, but I only have MSVCP120.dll on my other computer. How do I compile my code so that it does not require MSVCP140D.dll, but instead works with MSVCP120.dll?
Upvotes: 0
Views: 1739
Reputation: 4501
First make sure your build settings are correct for release build : MSVCP140D.dll
is the debug DLL of the Visual Studio 2015 runtime; the release version of this libray is MSVCP140.dll
.
When you've fixed this, then you can install the Visual C++ Redistributable for Visual Studio 2015 on the target computer where you want to run your program : this will install the missing library. Notice that the VC++ redistributable does not install the debug libraries (MSVCP140D.dll
) but the release ones (MSVCP140.dll
).
Another option is to rebuild your program with static linking to the Visual C++ runtime. Open the Project Properties dialog and, in "Configuration Properties -> C/C++ -> Code Generation", field "Runtime Library", choose "Multi-threaded (/MT)". This way, there is no need to install the VC++ redistributable on the target computer.
Upvotes: 2
Reputation: 85256
You need to install Visual Studio 2013 in order to be able to link with MSVCP120.dll (you can continue using MSVC 2015, but select 2013 as the toolchain). Once MSVC 2013 is installed, you will be able to select it in project settings -> Platform Toolset.
Or link your application statically (change /MD
to /MT
in Code Generation settings). Then your app won't need any MSVC DLL to run (but it will become bigger).
Or install the VC 2015 Redistributable package on your other computer.
Upvotes: 1