title: atlbase.h not found (VS2008)
body: <p>Basically, I'm trying to compile <a href="http://code.google.com/p/chromiumembedded/" rel="nofollow noreferrer">CEF</a> on VS2008 EE.</p>
  
  <p>The IDE complains that it cannot find <code>atlbase.h</code>. During some research, I've found this <a href="https://stackoverflow.com/questions/3898287/c-include-atlbase-h-is-not-found">reference</a>.
  Considering this isn't the first time I gave C++ another chance, I wasn't really surprised I had the WinSDK installed already. But of course, the IDE doesn't know this and the SDK registration tool doesn't seem to work (even if it says it does).</p>
  
  <p>So, I went to the project options and force-added the paths to the WinSDK source folders.
  That helped me get rid of the <em>"atlbase.h not found"</em> error. Instead, I started having multiple errors; 33 in fact, some of which were quite cryptic complaining things like _Module was not defined.</p>
  
  <p>These are the errors:</p>
  
  <pre><code>Compiling...
  uiplugin_test.cpp
  uiplugin.cpp
  string_util.cpp
  scheme_test.cpp
  resource_util_win.cpp
  plugin_test.cpp
  SDK\Include\atl\atlwin.h(65) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(79) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(155) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(155) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  SDK\Include\atl\atlwin.h(168) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(168) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  SDK\Include\atl\atlwin.h(1753) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1753) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1753) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1755) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1757) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(2979) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(2979) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  SDK\Include\atl\atlwin.h(3058) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(3058) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  osrplugin_test.cpp
  osrplugin.cpp
  extension_test.cpp
  download_handler.cpp
  clientplugin.cpp
  SDK\Include\atl\atlwin.h(65) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(79) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(155) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(155) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  SDK\Include\atl\atlwin.h(168) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(168) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  SDK\Include\atl\atlwin.h(1753) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1753) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1753) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1755) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(1757) : error C2065: 'i' : undeclared identifier
  SDK\Include\atl\atlwin.h(2979) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(2979) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  SDK\Include\atl\atlwin.h(3058) : error C2065: '_Module' : undeclared identifier
  SDK\Include\atl\atlwin.h(3058) : error C2228: left of '.GetModuleInstance' must have class/struct/union
          type is ''unknown-type''
  client_popup_handler.cpp
  client_handler_win.cpp
  client_handler.cpp
  cefclient_win.cpp
  .\cefclient_win.cpp(296) : error C3861: 'wcscpy_s': identifier not found
  cefclient.cpp
  SDK\Include\crt\utility(21) : error C2536: 'std::pair&lt;_T1,_T2&gt;::std::pair&lt;_T1,_T2&gt;::first' : cannot specify explicit initializer for arrays
          with
          [
              _T1=const char [12],
              _T2=const char [16]
          ]
          SDK\Include\crt\utility(24) : see declaration of 'std::pair&lt;_T1,_T2&gt;::first'
          with
          [
              _T1=const char [12],
              _T2=const char [16]
          ]
          SDK\Include\crt\utility(20) : while compiling class template member function 'std::pair&lt;_T1,_T2&gt;::pair(_T1 (&amp;),_T2 (&amp;))'
          with
          [
              _T1=const char [12],
              _T2=const char [16]
          ]
          .\cefclient.cpp(92) : see reference to class template instantiation 'std::pair&lt;_T1,_T2&gt;' being compiled
          with
          [
              _T1=const char [12],
              _T2=const char [16]
          ] SDK\Include\crt\utility(21) : error C2536: 'std::pair&lt;_T1,_T2&gt;::std::pair&lt;_T1,_T2&gt;::second' : cannot specify explicit initializer for arrays
          with
          [
              _T1=const char [12],
              _T2=const char [16]
          ]
          SDK\Include\crt\utility(25) : see declaration of 'std::pair&lt;_T1,_T2&gt;::second'
          with
          [
              _T1=const char [12],
              _T2=const char [16]
          ]
  binding_test.cpp
  </code></pre>