title: Unresolved external symbol _IID_IDXGIFactory
body: <p>I create Console Application in VC++ 2010, and add the following code to it:</p>
  
  <pre>
  #include &lt;d3d10.h>
  #include &lt;d3dx10.h>
  #include &lt;DxErr.h>
  
  #pragma comment(lib, "d3d10.lib")
  #pragma comment(lib, "d3dx10.lib")
  #pragma comment(lib, "dxgi.lib")
  #pragma comment(lib, "dxerr.lib")
  
  int _tmain(int argc, _TCHAR* argv[])
  {
      IDXGIFactory* pDXGIFactory;
      CreateDXGIFactory(IID_IDXGIFactory, ( void** )&pDXGIFactory);
  
      return 0;
  }
  </pre>
  
  <p>Building this project, I have linker error: error LNK2001: unresolved external symbol _IID_IDXGIFactory</p>
  
  <p>Now I create Console Application with MFC support, and add the same code. The build is successful. What is wrong in the first case? Why MFC project is built successfully, and non-MFC project fails? </p>