none
MSVCP100D.dll error on my friends' computers, they don't have Visual C++ installed in their pc

    General discussion

  • I'm using VS2010 Pro

    I made a simple console application recently, so I decided to share it with them..

    However, they seem to get an error.

    So i asked the to copy the DLL into C:\Windows\syatem32\ ("Solution" found in Google)

    Why did I give them this file/DLL .. Because at first they get an error on not having the DLL in their PC

    They got this error instead:

    MSYCP100D.dll is either not designed to run on Windows or it contains an error. Try installing the program again using the

    original installation media or contact your system adminstrator or the software vendor for support

    Saturday, December 11, 2010 3:15 AM

All replies

  • Try statically linking in the CRT with your executable when you build it:

    http://msdn.microsoft.com/en-us/library/abx4dbyh(v=vs.80).aspx

    Otherwise you will have to distribute all dependent DLL files in the same folder as your executable.  For your case, statically linking is going to be the simplest scenario for deploying your binary on your friend's computer.


    SDET Windows C++ CodeGenerationTeam - Performance
    Saturday, December 11, 2010 4:12 AM
  • build a release version. publishing debug version of VC dlls is against Visual Studio end user license.

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Sunday, December 12, 2010 5:53 PM
  • I did try that or maybe I'm doing it wrong?

    Mind showing how?

    Tuesday, December 14, 2010 4:19 AM
  • Select Release build-settings in your vstudio and deploy the binary with a proper runtime package.

    Search for "Microsoft Visual C++ 2010 Redistributable Package (x86)" here:

    http://www.microsoft.com/downloads/en/default.aspx

    This package should also be part of your vs-pro!

    Installing runtime-binaries by copying them into %WINDIR%/system32 is an interesting idea, but these times are over.

    Tuesday, December 14, 2010 9:13 AM
  • Select Release build-settings in your vstudio and deploy the binary with a proper runtime package.

    Search for "Microsoft Visual C++ 2010 Redistributable Package (x86)" here:

    http://www.microsoft.com/downloads/en/default.aspx

    This package should also be part of your vs-pro!

    Installing runtime-binaries by copying them into %WINDIR%/system32 is an interesting idea, but these times are over.


    You mean let my friends download this package and let them install it?
    Monday, December 20, 2010 5:18 AM
  • You mean let my friends download this package and let them install it?
    Assuming that this is standard C++, not C++/CLI, you will find it so much easier if you adopt Pete Steijn's suggestion and use static linking. For the Release configuration, go to
     
    Project Properties->Configuration Properties->C/C++->Code Generation->Runtime Library
     
    and select Multi-threadeedd (/MT)
     
    Then your executable should just work on the other machine.
     

    David Wilkinson | Visual C++ MVP
    Monday, December 20, 2010 4:35 PM
  • You mean let my friends download this package and let them install it?
    Assuming that this is standard C++, not C++/CLI, you will find it so much easier if you adopt Pete Steijn's suggestion and use static linking. For the Release configuration, go to
     
    Project Properties->Configuration Properties->C/C++->Code Generation->Runtime Library
     
    and select Multi-threadeedd (/MT)
     
    Then your executable should just work on the other machine.
     

    David Wilkinson | Visual C++ MVP

    May I interrupt a little, because I have the same question?.

    When I select the Multi-threadeedd (/MT) and I try to built it I get tons of errors!

    What should i do ?


    Saturday, March 19, 2011 2:01 AM
  • When I select the Multi-threadeedd (/MT) and I try to built it I get tons of errors!

    What should i do ?

    Showing us some of the errors would be a very good start.

    What kind of application is this?


    David Wilkinson | Visual C++ MVP
    Sunday, March 20, 2011 4:37 PM
  • I'm having the same problem. Here are my errors:

     

    1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
    1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>GameWorld.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>SparseLayer.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>SpriteManager.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: __thiscall std::_Vector_const_iterator<class std::_Vector_val<class AnimatedSpriteType *,class std::allocator<class AnimatedSpriteType *> > >::_Vector_const_iterator<class std::_Vector_val<class AnimatedSpriteType *,class std::allocator<class AnimatedSpriteType *> > >(class std::_Vector_const_iterator<class std::_Vector_val<class AnimatedSpriteType *,class std::allocator<class AnimatedSpriteType *> > > const &)" (??0?$_Vector_const_iterator@V?$_Vector_val@PAVAnimatedSpriteType@@V?$allocator@PAVAnimatedSpriteType@@@std@@@std@@@std@@QAE@ABV01@@Z)
    1>TiledLayer.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>StringTable.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>ScreenGUI.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>DirectXGraphics.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>DirectXTextureManager.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>GamePhysics.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>GameDataLoader.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>TextFileReader.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>TextFileWriter.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>GameAI.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>DeadlyExperiments.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>HeartBar.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>Inventory.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>GameDataLoader.obj : error LNK2019: unresolved external symbol __free_dbg referenced in function "private: void __thiscall std::_Yarn<char>::_Tidy(void)" (?_Tidy@?$_Yarn@D@std@@AAEXXZ)
    1>TextFileReader.obj : error LNK2001: unresolved external symbol __free_dbg
    1>TextFileWriter.obj : error LNK2001: unresolved external symbol __free_dbg
    1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
    1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __malloc_dbg
    1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __malloc_dbg
    1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype

    Sunday, March 27, 2011 7:23 AM
  • You mean let my friends download this package and let them install it?
    Assuming that this is standard C++, not C++/CLI, you will find it so much easier if you adopt Pete Steijn's suggestion and use static linking. For the Release configuration, go to
     
    Project Properties->Configuration Properties->C/C++->Code Generation->Runtime Library
     
    and select Multi-threadeedd (/MT)
     
    Then your executable should just work on the other machine.
     

    David Wilkinson | Visual C++ MVP

    May I interrupt a little, because I have the same question?.

    When I select the Multi-threadeedd (/MT) and I try to built it I get tons of errors!

    What should i do ?


    I found out that if u select the option under it, /MTd, and run the generated .exe it works fine.

    Sunday, March 27, 2011 7:34 PM
  • @Tomaya

    You get those errors because you didn't set it to release build!


    Change this to Release and then set /MT

    Monday, March 28, 2011 3:20 AM
  • Showing us some of the errors would be a very good start.

    What kind of application is this?


    David Wilkinson | Visual C++ MVP


    These are the errors:

    1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
    1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>memory size.obj : error LNK2019: unresolved external symbol __free_dbg referenced in function "private: void __thiscall std::_Yarn<char>::_Tidy(void)" (?_Tidy@?$_Yarn@D@std@@AAEXXZ)
    1>libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol __free_dbg
    1>libcpmtd.lib(cout.obj) : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: char const & __thiscall std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >::operator*(void)const " (??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ)
    1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
    1>libcpmtd.lib(locale0.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "public: class std::_Yarn<char> & __thiscall std::_Yarn<char>::operator=(char const *)" (??4?$_Yarn@D@std@@QAEAAV01@PBD@Z)
    1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol __malloc_dbg
    1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __malloc_dbg
    1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype
    1>D:\CyberPhoeniX\c++\c++ projects\memory size\Debug\memory size.exe : fatal error LNK1120: 4 unresolved externals

    It's the memory size of int and double data types.

    Monday, April 04, 2011 2:30 PM
  • You mean let my friends download this package and let them install it?
    Assuming that this is standard C++, not C++/CLI, you will find it so much easier if you adopt Pete Steijn's suggestion and use static linking. For the Release configuration, go to
     
    Project Properties->Configuration Properties->C/C++->Code Generation->Runtime Library
     
    and select Multi-threadeedd (/MT)
     
    Then your executable should just work on the other machine.
     

    David Wilkinson | Visual C++ MVP

    May I interrupt a little, because I have the same question?.

    When I select the Multi-threadeedd (/MT) and I try to built it I get tons of errors!

    What should i do ?


    I found out that if u select the option under it, /MTd, and run the generated .exe it works fine.

    Thanks tomaya it works for me also.
    Monday, April 04, 2011 3:51 PM
  • it works also like borko1980 said. Thak you very much.
    Monday, April 04, 2011 3:58 PM
  • Hey guys!

        I'm a new contender in this thread. I apologize for my VS ineptitude but I'm new to it. I am having all the same problems this thread talks about and this was my course of action:

    • DLL error on other PC (running WinXP SP3) -> Installed Visual C++ Runtime 2010
    • Switched to Release and set /MT in panel.
    • I keep getting this error now

     

    1>------ Build started: Project: RTClientExample, Configuration: Release Win32 ------

    1>Error: Cannot create "C:\Users\Donald\Desktop\RTClientSDK\RTClientExample\Release" because a file or directory with the same name already exists.

    ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

     

    The directory does not exist. There is a Desktop\RTClientSDK\Release that exists. Any help would be appreciated. I woudl like to create a release version of the code.. I'm guessing the \MTd just fixes the DLL problem but keeps it in debug. Any thoughts?

     

    ** UPDATE **

    Hm so there was a Release .. file with no extension. Deleted it and then it compiled properly. The build was able to run on another XP SP3 pc. If you dont' hear back from me assume this solved my other problems. Thanks!!!

     

    Don

    Saturday, July 23, 2011 12:33 AM