|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
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 shared MFC DLL version of MFC comes in a number of different forms. These forms are named according to the convention MFC[O|D|N]x0[U][D].DLL (where x is the MFC version number) as detailed in the following table. 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 extension.
Shared DLL Naming Convention
|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|
|MFCOx0D.DLL||MFC DLL for Active technologies, ANSI Debug version|
|MFCOx0UD.DLL||MFC DLL for Active technologies, Unicode Debug version|
|MFCDx0D.DLL||MFC DLL for database, ANSI Debug version|
|MFCDx0UD.DLL||MFC DLL for database, Unicode Debug version|
|MFCNx0D.DLL||MFC DLL for network (sockets), ANSI Debug version|
|MFCNx0UD.DLL||MFC DLL for network (sockets), Unicode Debug version|
|MFCSx0.LIB||MFC DLL, statically linked code, Release version|
|MFCSx0D.LIB||MFC DLL, statically linked code, Debug version|
Note The ActiveX control DLLs OC[D]x0[U][D].DLL are gone. ActiveX control support is now included in the MFC DLL listed in the preceding table.
Note The MFCSx0[D].LIB libraries are used in conjunction with the DLL versions of MFC. These library files contain code that must be statically linked in the application or DLL.
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.
Note The MFCx0.DLL and MFCx0U.DLL Retail version of the DLLs contain Active technologies, database, and network support in a single DLL. The Debug version maintains separate DLLs for these functional areas.
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).
Note In earlier versions of MFC (before version 4.0), there were special DLL variants of the libraries with names in the form [N|U]AFXDW[D].LIB. These variants no longer exist. Use the versions listed in the above-mentioned table.
For a list of Visual C++ DLLs that can be distributed with your applications, see redist.txt, which is installed to the Program Files\Microsoft Visual Studio folder.