This documentation is archived and is not being maintained.

Unicode in MFC

Updated: July 2010

MFC supports the Unicode standard for encoding wide characters on Windows NT, Windows 2000, and Windows XP platforms. Unicode applications cannot run on Windows 98 platforms.

The Unicode versions of the MFC libraries are described below (where xx is the MFC release version):

Static Link Libraries




UAFXCW.lib, .pdb

UAFXCWD.lib, .pdb

Unicode MFC static link library

Dynamic-Link Libraries




MFCxxU.lib, .dbg, def, .dll, .map, .pdb, .prf

MFCxxUD.lib, .def, .dll, .map, .pdb

Unicode MFC import library (see notes below for explanation of file extensions)

MFCSxxU.lib, .pdb

MFCSxxUD.lib, .pdb

Unicode MFC import library containing code that must be statically linked in an application or DLL

File Types

  • Import library files have the extension (.lib).

  • Dynamic-link library files have the extension (.dll).

  • Module definition (.def) files are text files that contain statements for defining an .exe or .dll.

  • Map (.map) files are text files that contain information that the linker uses when linking a program.

  • Library (.lib) files are used in conjunction with the DLL versions of MFC. These files contain code that must be statically linked in the application or DLL.

  • Program database (.pdb) files contain debugging and project state information.

  • Debug (.dbg) files contain information (COFF FPO, and CodeView) that the Visual C++ Debugger uses.

For detailed information on naming conventions, see Naming Conventions for MFC DLLs and Library Naming Conventions.

For information on using Unicode with MFC, see International Programming and Strings: Unicode and Multibyte Character Set (MBCS) Support.




July 2010

Removed text that stated Unicode versions of DLLS are not installed by default.

Content bug fix.

August 2010

Changed DLL names to be version-neutral.

Customer feedback.