Windows – Visual Studio 2013 MSVCR110d.dll is Missing

cvisual-studio-2013windows 8

I'm not really sure if this belongs on SuperUser or StackOverflow, but it doesn't seem to be a coding problem so I'm gonna run with this.

I've started working on a C++ game using Visual Studio 2013 utilizing FreeGLUT and FreeImage. I can compile and run it on my desktop without issue, but when I try compiling the same code on my laptop I get the error "msvcr110d.dll is missing from your computer." After which there is about a 50% chance that Visual Studio freezes, and I'm forced to restart the computer as Task Manager cannot stop the process (another problem I'm still working on).

Google searches have told me to install Visual C++ Redistributable 2012, however this was already installed on this laptop (both x86 and x64), and reinstalling (from http://www.microsoft.com/en-us/download/details.aspx?id=30679) has not helped at all. I also tried installing Visual C++ Redistributable 2013 (x86 & x64, from http://www.microsoft.com/en-us/download/details.aspx?id=40784), but to no avail. Both of those links do feature an ARM download. I'm not sure what that is, and attempting to install it results in a pop-up saying I can't install it on this version of Windows (Windows 8 that is), so I'm assuming I don't need that.

Looking in the C:\Windows\SysWow64 folder, I can see msvcr110.dll but not msvcr110d.dll. It looks like the release version was installed, but not the debug. I do see msvcr120d.dll, which should be the 2013 version right? So shouldn't Visual Studio 2013 be using that, instead of msvcr110d.dll?

Running a standard C++ HelloWorld project doesn't have this issue, so I imagine it must have something to do with FreeGLUT or FreeImage. However it compiles and runs on my desktop without issue, so I believe everything is coded & linked correctly. I've added the include directories, library directories (both of which were debug), and added opengl32.lib & FreeImaged.lib as additional dependencies.

Installing Visual C++ Redistributable hasn't helped, so is there another way of solving this issue? Should Visual Studio 2013 be using msvcr110d.dll at all, or it should be using msvcr120d.dll? Do I need that ARM install from the MSVCR download page? I'm using Windows 8 64 bit (brand new laptop as well so I don't think there's any corruption issues). Thanks in advance for your help.

Doug

Best Answer

"Running a standard C++ HelloWorld project doesn't have this issue, so I imagine it must have something to do with FreeGLUT or FreeImage."

I think you're on the right track. It sounds like FreeGLUT or FreeImage is being compiled in debug mode, and that's why the "D" versions are being requested. Make sure you use release compilations of your dependencies.

Related Question