Application has failed to start because MSVCP100D.dll was not found, reinstalling app may work

前端 未结 3 784
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-02 01:56

I googled on this and realized there are probably several causes to this so I will describe my scenario.

This happens when my application tries to load a .dll file b

相关标签:
3条回答
  • 2020-12-02 02:12

    Just an small related advice: DON'T ADD any *248d.lib files while building and running in the RELEASE version.

    I was following advice from different blogs, and I accidentally added both *248d.lib as well as the 248.lib files. Basically in LinkerInputAdd Dependencies, ensure that you don't have *248d.lib files in it (here 248 is version 2.4.8).

    I spent hours wondering why things weren't working in the release mode until it struck me that there are two copies of .lib files, one *248 and other *248d. If you include any of the d files in release mode, you will get the DLL issue.

    0 讨论(0)
  • 2020-12-02 02:16

    If you do not want to distribute the runtime, then you can switch your Runtime Library options in Visual Studio (Properties -> C/C++ -> Code Generation -> Runtime Library) from /MD to /MT or from /MDd to /MTd.

    As others have said, if you are distributing this application you should be linking dynamically or statically to the Release version of the Runtime library, not the Debug version.

    0 讨论(0)
  • 2020-12-02 02:20

    If you link dynamically to the MSVC runtime then you need to install that runtime on every machine that will run your app.

    Note that in this case you appear to be linking to the debug version of the runtime, it is not normal to distribute apps linked against the debug version of the runtime.

    0 讨论(0)
提交回复
热议问题