Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MSVCR90.DLL was not found

I know a question like this was already asked, but the situation is a little different, and all the answers on that problem didn't work for me.

I'm trying to compile some C code in VS2008 and it doesn't create an exe. Also, when I try to run it with f5, I get:

This application has failed to start because MSVCR90.DLL was not found.

I did some googling and it said that this was because my c++ redistributable package wasnt installed. So I installed that, restarted everything and tried again. But alas, I still get the same error. Does anyone have any clue how to fix this?

like image 727
The.Anti.9 Avatar asked Nov 16 '08 03:11

The.Anti.9


People also ask

What is msvcr90 dll?

Msvcr90 is a Dynamic Link Library file associated with Microsoft Visual Studio 2008. It's a part of the Visual C++ 2008 service pack, and the msvcr90. dll missing error will often arise for older software made with the Visual C++ 2008 development framework.

How do I fix dll error not found?

dll errors. If the User32. dll error message appeared during or after you installed a program, a hardware component, or a driver, uninstall the program, the hardware component, or the driver. Then restart Windows, and reinstall the program, the hardware component, or the driver.

How do I fix d3d12 dll missing?

Reinstalling the application will fix the missing d3d12. dll error, uninstall your application/game from the control panel then restart your PC, and download the application from the official source. if your application offers the repair option, you should choose that first and check if it helps.


2 Answers

It sounds like either a problem with your VS2008 installation, or something wrong with your DLL search path. MSVCR90.DLL is installed when you install VS2008, you shouldn't have to install any additional redistributable packages.

First I would check your PATH environment variable and make sure there is no gobbledydook in it that will break some of the entries, and if you don't find a problem there, then I would uninstall and reinstall Visual Studio.

You could also try searching for MSVCR90.DLL (and other DLLs like it), and move them to your Windows/System32 folder.

If you just want to get going now, another thing you could do is change your project to statically link to the runtime libraries, and then it wont even try to load that DLL. Go to your Project settings, Configuration Properties->C/C++->Code Generation and change Runtime Library from Multi-Threaded DLL to just Multi-Threaded (or any of the options that doesn't end with DLL).

like image 80
Gerald Avatar answered Oct 07 '22 19:10

Gerald


Here are some things to check for your configuration of the project- under the general tab:

  • .1 Configuration type - exe in your case.
  • .2 Use of MFC: if this is an MFC application it might be more portable if you do: Use MFC in a static library.
  • .3 Use of ATL - if not using atl (or not sure) say Not using ATL.
  • .4 Under C/C++ -> Runtime Library: Say Multi-threaded Debug (for debug version) or Multi-Threaded (for release version).

If you are getting specific linker errors that say something is already defined: This means that you have some parts of your app (separate libs being linked to your exe) that are built with different runtime linking:

You can:

  • Make sure that these libraries were compiled with the same version of visual studio as your application.

  • Change those projects to use static runtime: C/C++ -> Code Generation -> Runtime LIbrary: /MT or MTd (same as #4 above)

  • If you still have some specific errors try telling the linker to ignore certain libraries: Go to Linker->Ignore Specific Library and put in the library that you want to ignore. This is most common for 'libcmt.lib' or 'libcmtd.lib'. It is important also to know that lib ending with 'd' is usually the debug version. If you are creating a release build and you are getting 'already defined in libcmtd.lib' that means that somewhere you are linking a release lib to a debug lib.

like image 34
Klathzazt Avatar answered Oct 07 '22 19:10

Klathzazt