Application has failed to start because MSVCP100D.dll was not found, reinstalling app may work
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.
What is MSVCP100D.dll?
This is the C++ runtime library dll. You've used the debug version, which won't be found in a user's computer. Compile your program in release mode. This will add a dependency in MSVCP100.dll, which is most likely to be present.
In any case, you must make sure that the dll will be present in user's machine. You can do that by creating an installer or by prompting the user to install the Microsoft Visual C++ 2010 Redistributable Package.
In summary:
- Compile your code in release mode
- Create an installer or use another way to copy the needed dlls to user's machine
MSVCP100D.dll missing
Reinstalling Visual Studio fixed the problem.
program can't start because msvcp100.dll is missing for Every single code
By default, MSVC projects are set to link against the dynamic run time library which generates a dependency on the visual C++ run time redistributable. As you have already found out, this dependency is not guaranteed so your install utility has to install the visual c++ run time first.
You can avoid this by changing your project settings. Load the project properties and go to: "Configuration Properties"/"C/C++"/"Code Generation"
- In the item labelled "Runtime Library", select "Multi Threaded (/MT)"
- for the release version"Multi Threaded Debug (/MTd)" for the debug version.
You have to be careful while doing this that all the other libraries that your application links are also compiled against the static run time.
MSVCP100.dll not found error even when it is installed
Your application needs the dll for VS2010. you should place MSVCR100.dll
and MSVCP100.dll
from your x86 machine beside your exe. You can also install VS2010 alongside your current VS2012. then you should also install the Service Pack1 for VS2010 to work properly. After installing VS2010 you have access to both mentioned dlls and also you probably don't need to copy them to your exe directory.
What to do with This application has failed to start because myproject.dll was not found. error
When Windows loads an EXE, it will check what DLL's are needed, directly or indirectly. In your case, A.EXE will need B.dll. When Windows has determined that list, it will use this procedure to locate the DLLs:
- The directory where the executable is stored [1]
- The current directory, as set by CreateProcess()
- The Windows system directory (holds most of the Windows DLLs such as USER32.DLL)
- The Windows directory (for legacy reasons, mostly)
- The directories from the PATH variable (also for legacy reasons)
[1] Symbolic links can cause an executable to have multiple paths. To be precise here, it's the path of the executable that was passed to CreateProcess.
Can't Compile Solution in Debug Mode Because MSVCR100D.dll is Missing
MSVCR100D.dll is the dll for Visual Studio 10, so somewhere something is depending on it (the SFML dlls?). Whatever you compile (in debug mode) with Visual Studio 2012 will require MSVCR110D.dll, which you should have available on your machine as part of the installation.
I suggest you build SFML yourself on your own version of Visual Studio, it's pretty easy. In fact, the binaries available on the site as part of the SFML 2.0 RC are rather old and you'll do yourself a huge favor by building from the latest sources, as a lot of fixes and improvement were applied in the meantime.
(Also, definitely use 2.0 instead of 1.6. The site is rather misleading, but on the SFML forums virtually everyone will recommend you use the last version)
Remote debugging C++ on the Windows Server 2008 platform with VS2010; MSVCP100D.dll missing
Thanks to Errata, I had a look at
Project Properties -> Configuration Properties -> C++ -> Code Generation
I changed Runtime Library from Multi-threaded Debug DLL to Multi-threaded Debug (/MTd).
This allows remote debugging without having to rely on the correct debug DLLs residing on the remote machine.
I hope this helps someone out there!
Related Topics
Why Should I Avoid MACros in C++
How to Enforce C++ Compiler to Use Specific Crt Version
Programmatically Getting System Boot Up Time in C++ (Windows)
Effective Use of C++ Iomanip Library
How to Make a C++ Struct Value-Initialize All Pod Member Variables
Very Simple Application Fails with "Multiple Target Patterns" from Eclipse
How to Safely Destruct a Qthread
Covariant Return Type and Type Conversion
Ifstream Not Reading Eof Character
What Are the Operations Supported by Raw Pointer and Function Pointer in C/C++
C++ Virtual Override Functions with Same Name
What Does Iota of Std::Iota Stand For
Does C++11 Unique_Ptr and Shared_Ptr Able to Convert to Each Other's Type