Naming Conventions for MFC DLLs

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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

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

DLLs in Visual C++

Show: