Hugh Perkins wrote:
msvcrt.dll is the old <> dll, msvcr71.dll is the .net dll

The import libraries have teh same name in each case (msvcrt.lib, msvcprt.lib) but point towards a differently named dll, one of those above, depending on the compiler version.

This, from <>, is noteworthy:

  What is the difference between msvcrt.dll and msvcr71.dll?

  The msvcrt.dll is now a "known DLL," meaning that it is a system
  component owned and built by Windows. It is intended for future use
  only by system-level components. An application should use and
  redistribute msvcr71.dll, and it should avoid placing a copy or using
  an existing copy of msvcr71.dll in the system directory. Instead, the
  application should keep a copy of msvcr71.dll in its application
  directory with the program executable. Any application built with
  Visual C++ .NET using the /MD switch will necessarily use msvcr71.dll.

Well that's annoying. So why bother with msvcr71.dll at all? Why not just build with /MT instead and pull in the static library? What does using the DLL runtime buy you?


vos-d mailing list

Reply via email to