更新 : 2007 年 11 月
MFC 3.0 以前のバージョン、つまり Visual C++ Version 2.0 以前のバージョンでは、MFC ライブラリの正しいバージョンをリンカの入力ライブラリ リストに手作業で指定する必要がありました。しかし、MFC 3.0 以降ではこのような作業が必要なくなりました。代わりに、MFC のヘッダー ファイルによって正しいバージョンが自動的に決定されるようになりました。どのバージョンが選択されるかは、_DEBUG や _UNICODE など、#define で定義される固定値に基づきます。また、MFC ヘッダー ファイルは自動的に /defaultlib ディレクティブを追加し、リンカはこのディレクティブを参照して特定のバージョンの MFC ライブラリをリンクします。
例として、AFX.H ヘッダー ファイルの一部を示します。このコードでは、MFC のデバッグ バージョンを使用するかどうかに応じて、NAFXCWD.LIB または NAFXCW.LIB のどちらかのバージョンの 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
MFC ヘッダー ファイルでは、必要なライブラリをすべてリンクするように指示します。たとえば、MFC のライブラリ、Win32 のライブラリ、OLE のライブラリ、サンプルからビルドされた OLE のライブラリ、ODBC のライブラリなどのリンクを指示します。Win32 のライブラリには、Kernel32.Lib、User32.Lib、GDI32.Lib があります。