Vinculação automática da versão da biblioteca MFC
Em versões de MFC antes da versão 3,0 (a versão 2,0 do Visual C++), você precisava especificar manualmente a versão correta de biblioteca MFC na lista de entrada de bibliotecas do vinculador. MFC com a versão 3,0 e posteriores, não é mais necessário especificar manualmente a versão da biblioteca MFC. Em vez disso, os arquivos de cabeçalho MFC determinar automaticamente a versão correta da biblioteca MFC, com base nos valores definidos com #define, como _DEBUG ou _UNICODE. Os arquivos de cabeçalho MFC adicionam as políticas de /defaultlib que instruem o vinculador o link em uma versão específica de biblioteca MFC.
Por exemplo, o seguinte fragmento de código do arquivo de cabeçalho de AFX.H instrui o vinculador para vincular na versão de NAFXCWD.LIB ou de NAFXCW.LIB MFC, dependendo se você está usando a versão de depuração MFC:
#ifndef _UNICODE
#ifdef _DEBUG
#pragma comment(lib, "nafxcwd.lib")
#else
#pragma comment(lib, "nafxcw.lib")
#endif
#else
#ifdef _DEBUG
#pragma comment(lib, "uafxcwd.lib")
#else
#pragma comment(lib, "uafxcw.lib")
#endif
#endif
Os arquivos de cabeçalho MFC também são vinculados em todas as bibliotecas necessários, inclusive bibliotecas MFC, bibliotecas do Win32, bibliotecas OLE, bibliotecas criadas com OLE DB exemplos, bibliotecas ODBC, e assim por diante. As bibliotecas do Win32 incluem Kernel32.Lib, User32.Lib, e GDI32.Lib.