locked
msvcp100.dll

    Question

  • Please help!!

                         a little while ago i had trouble figuring out why when i wrote a program using visual c++ 2010 express. these are small programs as i am learning but i copied the release directory to an sd card to make sure the program worked on another computer without visual c++ installed on it and it got...... The application has failed to start because MSVCP100.dll was not found. Re-Installing the application may fix this problem.

    how do i get these programs to work on other systems????

     

    Tuesday, September 13, 2011 7:10 AM

Answers

  • In my opinion  the problem is caused by simple copy of the release directory.

    Just copying the executable from release directory to the target machine will not deploy the MSVCP100.DLL there .

    MSVCP100.DLL is an important part of C run-time library.

    The C run-time (CRT) libraries is composed of various .lib files. And these libraries contain the C run-time library functions.

    Different versions of VS have different versions of CRT .

    We have two ways to link  the CRT library : static link and dynamic link . For  more information , please reference http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx  .

    Therefore, there are two solutions :

    1: Using /MT . Follow the step to change runtime library : Project Properties->Configuration Properties->Code Generation->Runtime Library. And then Build->Build solution . Now you can use the output application directly.

    2: Using /MD . Please try to  install CRT of Visual Studio  2010 on the target machine. Remember to choose vcredist_x86 or vcredist_x64 of the best suitable and latest version according to which platform the application targeting ,then download and install it .

    For Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) ,I recommend the follow download link : http://www.microsoft.com/download/en/details.aspx?id=13523 .

    For Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) , I recommend this one : http://www.microsoft.com/download/en/details.aspx?id=8328.

    If you have any concerns , please let me know.

    Best regards,

    Wednesday, September 14, 2011 9:38 AM

All replies

  • Please help!!
     
                         a little while ago i had trouble figuring out why when i wrote a program using visual c++ 2010 express. these are small programs as i am learning but i copied the release directory to an sd card to make sure the program worked on another computer without visual c++ installed on it and it got...... The application has failed to start because MSVCP100.dll was not found. Re-Installing the application may fix this problem.
     
    how do i get these programs to work on other systems????
    If these are simple programs, the easiet way is almost certainly to use static linking of CRT. Go to
     
    Project Settings->Configuration Settings->C/C++->Code Generation
     
    and for Release build set Runtime Library to
     
    Multi-threaded (/MT)
     

    David Wilkinson | Visual C++ MVP
    Tuesday, September 13, 2011 9:04 AM
  • Thanks Dave  but i am still a little confused as eventualy i will be writting more complex programs (i hope). and so if i follow your suggestion to change the run time library to multi-threaded (/MT) how will that affect the later and hopefully more complex things i try in future???? i am sorry if this seems a little basic to you or anyone else out there but i am really trying to learn this stuff from scratch.
    Wednesday, September 14, 2011 6:10 AM
  • In my opinion  the problem is caused by simple copy of the release directory.

    Just copying the executable from release directory to the target machine will not deploy the MSVCP100.DLL there .

    MSVCP100.DLL is an important part of C run-time library.

    The C run-time (CRT) libraries is composed of various .lib files. And these libraries contain the C run-time library functions.

    Different versions of VS have different versions of CRT .

    We have two ways to link  the CRT library : static link and dynamic link . For  more information , please reference http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx  .

    Therefore, there are two solutions :

    1: Using /MT . Follow the step to change runtime library : Project Properties->Configuration Properties->Code Generation->Runtime Library. And then Build->Build solution . Now you can use the output application directly.

    2: Using /MD . Please try to  install CRT of Visual Studio  2010 on the target machine. Remember to choose vcredist_x86 or vcredist_x64 of the best suitable and latest version according to which platform the application targeting ,then download and install it .

    For Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) ,I recommend the follow download link : http://www.microsoft.com/download/en/details.aspx?id=13523 .

    For Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) , I recommend this one : http://www.microsoft.com/download/en/details.aspx?id=8328.

    If you have any concerns , please let me know.

    Best regards,

    Wednesday, September 14, 2011 9:38 AM
  • Thanks Dave but i am still a little confused as eventualy i will be writting more complex programs (i hope). and so if i follow your suggestion to change the run time library to multi-threaded (/MT) how will that affect the later and hopefully more complex things i try in future???? i am sorry if this seems a little basic to you or anyone else out there but i am really trying to learn this stuff from scratch.
    Applications that cannot use static linking include
     
    1. Ones that support the CLR (i.e. C++/CLI programs)
     
    2. Some designs involving DLL's in addition to the .exe.
     
    I write MFC programs and I always distribute them using static linking.
     

    David Wilkinson | Visual C++ MVP
    Wednesday, September 14, 2011 9:51 AM
  • I'm not sure VC++ Express supports static linking.

    So you would have to provide the C/C++ runtime DLLs (MSVCP100.DLL is one of them) with your EXE file when you want to run it on another computer.

    These DLLs may be in a "redist" subfolder of your VC++ install folder. You have to copy them with your EXE on another PC.

    Thursday, September 15, 2011 1:34 PM
  • I'm not sure VC++ Express supports static linking.
    What makes you think that?
     

    David Wilkinson | Visual C++ MVP
    Thursday, September 15, 2011 2:41 PM
  • Hello,

    I also faced this missing file error,  i got  alot of information about this error from this discussion. I will share my ideas with you that how i fixed this problem

    1. Reinstall the Associated Program
    2. Reinstall Microsoft Visual C++ 2010 Redistributable Package (x64)
    3. Repair Corrupted Registry Hives
    4. Scan and Repair the System Files
    5. Restore the System to an Earlier Date

    The one most recommended thing is to use a Registry Cleaner program to fix MSVCP100.dll error.
    If you have already been experiencing the MSVCP100 Dll Error then read this article MSVCP100 Dll Error Fix
    Hope it solves your problem.

    Monday, January 23, 2012 9:46 AM
  • Thank you Rebecca:

    This is exactly what I needed!  I was having a problem with Nuance PDF Converter Pro 7.2 not being able to open a particular PDF file without crashing with a "Stopped Working..." popup message.  I suspected the MSVCP100.dll, but when I downloaded a fresh copy from another website's community, I apparently got the wrong version.  The problem persisted, and interestingly, I was able to open other PDF files with Converter Pro, but just not the one I wanted.  I downloaded and installed the X86 package that you linked to, and it completely solved my problem.  I can't tell you how frustrated I was for a couple of days fighthing this problem.  Many thanks.  Great work!

    Best regards,

    Mark Neff

    Wednesday, August 08, 2012 5:40 PM
  • Rebecca Liu,

    I also am learning, but I am try to move up to working with software API/SDK.  I picked LibreOffice.  To make a long story short, I buildt a first step application.  I figured out a little about "make.exe" enough to get an executable.  When I run the appliation, it says "?blank?.dll is missing... reinstall/restart..." or very similar.

    The .dll file is siting pretty in the directory and not missing lost or whatever.

    The setting up enviroment for C++ required VS C++ Redistrutable ?...?  I downloaded the file and it installed to my root, so I uninstalled it (for now).

    Will reinstalling it correctly solve my problem or do I have an unrelated problem here?  How to start a *.dll file on my computer?

    PS I wasn't going to post this, but the problem looks very similar to my situation.


    David

    Wednesday, August 08, 2012 9:51 PM
  • Please help!!
     
                         a little while ago i had trouble figuring out why when i wrote a program using visual c++ 2010 express. these are small programs as i am learning but i copied the release directory to an sd card to make sure the program worked on another computer without visual c++ installed on it and it got...... The application has failed to start because MSVCP100.dll was not found. Re-Installing the application may fix this problem.
     
    how do i get these programs to work on other systems????

    If these are simple programs, the easiet way is almost certainly to use static linking of CRT. Go to
     
    Project Settings->Configuration Settings->C/C++->Code Generation
     
    and for Release build set Runtime Library to
     
    Multi-threaded (/MT)
     

    David Wilkinson | Visual C++ MVP

    I did it on the release but i get " 5 IntelliSense: cannot open source file "CbcBranchActual.hpp"" messages for any file i include

    and also that many objects that i define in my code that are not defined.

    Any ideas?

    Thursday, August 23, 2012 7:02 PM