We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Naming Conventions for MFC DLLs

The DLLs and libraries included in MFC follow a structured naming convention. This makes it easier to know which DLL or library you should be using for which purpose.

The import libraries needed to build applications or extension DLLs that use these DLLs have the same base name as the DLL but have a .lib file name extension.

Shared DLL Naming Convention




MFC DLL, ANSI Release version


MFC DLL, Unicode Release version


MFC DLL, ANSI Debug version


MFC DLL, Unicode Debug version

If you are dynamically linking to the shared DLL version of MFC, whether it is from an application or from an extension DLL, you must include MFCx0.DLL with your product. If you require Unicode support in your application, include MFCx0U.DLL instead.

If you are statically linking your DLL to MFC, you must link it with one of the static MFC libraries. These versions are named according to the convention [N|U]AFXCW[D].LIB. For more information, see the table "Static-Link Library Naming Conventions" in Library Naming Conventions (MFC).

For a list of Visual C++ DLLs that can be distributed with your applications, see Redist.txt in your Visual Studio installation.