Naming Conventions for MFC DLLs


The latest version of this topic can be found at 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

DLL Description
MFCx0.DLL MFC DLL, ANSI Release version
MFCx0U.DLL MFC DLL, Unicode Release version
MFCx0D.DLL MFC DLL, ANSI Debug version
MFCx0UD.DLL 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.

What do you want to know more about?

See Also

DLLs in Visual C++