Hey all,

Just trying to build a program in VS2008 using the Allegro library.

When I try to build (debug or release), the build completes, but when the program tries to run, I get an error saying that a file called "MSVCR80D.dll" is missing and suggests reinstalling the program.

I can't find any answers as to why this might be online, but I worked on this program on a previous install of Win7 also using VS2008 and did not have this problem :(

Any advice would be greatly appreciated!


James

Recommended Answers

All 30 Replies

I should add, if I look in the system32 folder there is a file called MSVCR100D.dll

Is that a newer version of the same file?

I've had this issue once.You need to rerun the configuration batch file (.bat | .cmd) situated in the bin\ directory.

I've had this issue once.You need to rerun the configuration batch file (.bat | .cmd) situated in the bin\ directory.

I'm sorry, the .bat file in which bin directory? You mean Visual Studio? I'm looking at the directory and can't see a config.bat file or anything that looks like a configuration .bat, would you happen to know the exact name of the file?

C:\Program Files\Microsoft Visual Studio 8.0\VC\vcvarsall.bat.

I just copy/pasted this and it seems i got the directory wrong.It's not bin but you get the idea.Sorry

I've run it, still got the same problem :(

The file you are missing ("MSVCR80D.dll") is the Visual C++ 2008 RunTime. The file that you have ("MSVCR100D.dll") is the Visual C++ 2010 RunTime. Search Microsoft's site for "Visual C++ 2008 Redistributable". Download the correct version (x86 vs. x64) and install it. There are some service packs/updates available for it. Make sure you install those as well.

Downloaded and installed the redist for Visual C++ 2008, file is still apparently missing.

It must be something in either your VS Project or your Allegro configuration then. I'm afraid I can't help you with Allegro.

Maybe someone who knows a little more about the "nuts and bolts" of project configuration will be able to help you.

Are you able to find the "missing" file on your system?

It must be something in either your VS Project or your Allegro configuration then. I'm afraid I can't help you with Allegro.

Maybe someone who knows a little more about the "nuts and bolts" of project configuration will be able to help you.

Are you able to find the "missing" file on your system?

I can't find the file anywhere on my computer, I've installed the redist for VC++ 2008 and that didn't seem to install the file to anywhere I can see, it's definitely not in the system32 folder and if I run a search for it it isn't found.

I dug a little deeper into my system; it turns out the 2008 Redist is called *90. It looks like the *80 version is the 2005 version. Try installing the 2005 version and associated patches/updates.

Downloaded and installed. No joy. The redist packs don't seem to actually provide any files. I've installed: VC++ 2005 (x86 and x64), VC++ 2008 (x86 and x64) and VC++ 2010 (x64) and the only msvcr file I have in system32 is msvcr100.dll

This is getting weird.

Then we're back to a configuration error in your IDE/Compiler.

Then we're back to a configuration error in your IDE/Compiler.

OK at least we're narrowing it down, are there any particular settings I should check? Is there maybe a setting for what redist package to use?

Sorry I'm not too familiar with project setup/linking etc :(

Perhaps the program you are running is depend on the dll which was declared to be missed.
Try to download such files and put it into the system32 root

Perhaps the program you are running is depend on the dll which was declared to be missed.
Try to download such files and put it into the system32 root

I'm fairly sure that when I made the program I was using VC++2008 redist, since I programmed it with Visual Studio 2008. What's confusing me is when I reinstall the redists, the corresponding files aren't added to my system :S

I've been advised against getting the files from dll sites, are they risky?

Downloading a dll from a (I'll call it) "storehouse" is risky. The problem is you don't know if the file is an "official" version of the file or if it's been tampered with to add a "back door" or something of that nature.

I still think it's a configuration issue in your project. The redists should install the dlls in a location such as "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist". This particular example is VS 2008; 2005 and 2010 should be similar, but with a different VS folder number (i.e. 8.0 or 10.0, in lieu of 9.0).

I've had a look in that folder and I only have the redists for VC++ 2008 (I think, they are the number 90 dlls). I've installed every conceivable redist and they still haven't shown up. It can't be a compatibility issue since I seemed to have the file on my last install of Win7 x64, which is exactly what I'm using now with the same version of VS as before since I didn't get this error.

Is there some setting to tell VS which redist to use so I can set it to use msvcr90 istead of 80? Are they that different?

Sorry, I'm a recent graduate and am still learning all this stuff.

MSVCR80D.dll is part of the Visual Studio 2005 Runtime DEBUG library. Although why you would need this if you're building in 2010/2008 I have no idea. In any case, so long as that version of visual studio is installed you should have no problem running the program.

To get around this issue, you can compile your project in Release mode or change the Runtime library from /MTd to /MT

The other option is to installed Visual Studio 2005.

MSVCR80D.dll is part of the Visual Studio 2005 Runtime DEBUG library. Although why you would need this if you're building in 2010/2008 I have no idea. In any case, so long as that version of visual studio is installed you should have no problem running the program.

To get around this issue, you can compile your project in Release mode or change the Runtime library from /MTd to /MT

The other option is to installed Visual Studio 2005.

If you read over previous posts, we have already tried both Debug and Release builds, both produce the same error when running the build except the release build reports MSVCR80.dll missing instead on MSVCR80D.dll. Both files are apparently missing from my system.

If you've tried running the release version after installing the x86 and x64 2005 runtimes then there is a problem with your computer.

Those files are supposed to be installed into the GAC and are pulled when a library is requested. The OS handles that.

Also, if you're building with 2008/2010 and it's saying you're missing the 2005 run time, check that you haven't included any specific libraries in the linker. Otherwise, create a new project in 2008/2010 and put the files from the old project into the new one. If it's an up-conversion from 2005 there may still be legacy scripts for the build which weren't converted.

Also, I appreciate that you said you tried both builds but you only mentioned MSVCR80D.DLL and that was before you'd installed the 2005 runtime. Now that you've installed the 2005 runtime it would be worth you rebuilding them and attempting to run the application again.

EDIT: Post a link to your executable and the supporting libraries. That way we can see if this is a build problem or a problem with the target machine.

If you've tried running the release version after installing the x86 and x64 2005 runtimes then there is a problem with your computer.

Those files are supposed to be installed into the GAC and are pulled when a library is requested. The OS handles that.

Also, if you're building with 2008/2010 and it's saying you're missing the 2005 run time, check that you haven't included any specific libraries in the linker. Otherwise, create a new project in 2008/2010 and put the files from the old project into the new one. If it's an up-conversion from 2005 there may still be legacy scripts for the build which weren't converted.

Also, I appreciate that you said you tried both builds but you only mentioned MSVCR80D.DLL and that was before you'd installed the 2005 runtime. Now that you've installed the 2005 runtime it would be worth you rebuilding them and attempting to run the application again.

EDIT: Post a link to your executable and the supporting libraries. That way we can see if this is a build problem or a problem with the target machine.

I have included the Allegro 5 library in the linker which may require the VC2005 redist, but I have installed it on the machine so why the msvcr80 dlls are still not found is beyond me. I've tried rebuilding them numerous times to no avail.

Hmm, upload your executable and any dynamic non-standard libraries you require. I think we need to ascertain if it's the build process or the machine that is the problem.

Hmm, upload your executable and any dynamic non-standard libraries you require. I think we need to ascertain if it's the build process or the machine that is the problem.

Curiously enough, if I go to my last backup of the built and compiled program I made before the windows reinstall and run it, it works fine! That suggests to me it's a config problem :S

Where can I upload those files to for you to look at? I appreciate the help!

megaupload, fileupload, yousendit, dropbox (my favourite) *shrugs* many places...just not file planet. They are evil.

megaupload, fileupload, yousendit, dropbox (my favourite) *shrugs* many places...just not file planet. They are evil.

I've made a Dropbox account, how do I give you access to the files?

You place them in your public folder. As a zip file. Then you click on the arrow on the right hand side and click on public link or copy link something like that.

I'm actually heading out now. I won't be back for several hours, but when I get back, I will definitely look at the software for you.

You place them in your public folder. As a zip file. Then you click on the arrow on the right hand side and click on public link or copy link something like that.

I'm actually heading out now. I won't be back for several hours, but when I get back, I will definitely look at the software for you.

OK I'll get that sorted, thanks again for your help!

OK I'll get that sorted, thanks again for your help!

OK I have it all set up but I think I need your email to invite you to look at the files? Sorry never used Dropbox before :S

Hey all,

Just trying to build a program in VS2008 using the Allegro library.

When I try to build (debug or release), the build completes, but when the program tries to run, I get an error saying that a file called "MSVCR80D.dll" is missing and suggests reinstalling the program.

I can't find any answers as to why this might be online, but I worked on this program on a previous install of Win7 also using VS2008 and did not have this problem :(

Any advice would be greatly appreciated!


James

I think I may have found the problem, the error may be caused not by the fact that my program uses the VC++ 2005 redist (which it doesn't since I have now copied all the code over to a new project which has never touched VS 2005), but the allegro library I am linking may be causing the issue if it was compiled using VC++ 2005. This still doesn't explain why I am missing the redists after installing them.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.