title: How do I get node-gyp to work on Windows 7 platform
body: <p>My attempts to use node-gyp on a Windows 7 + Node.js platform have failed [3] when attempting to compile the standard "Hello World" example [2].  Note: node-gyp is failing in a similar manner [3] when attempting <code>npm install contextify</code> w or w/o the "-g", thus these could be related issues.</p>
  
  <p>Configuration:</p>
  
  <ul>
  <li>node-gyp 0.12.2  </li>
  <li>Windows 7 x64 SP1  </li>
  <li>Python 2.7  </li>
  <li>Node.js 0.10.24  </li>
  <li>Visual Studio 2010 per [1] (also tried 2012)  </li>
  <li>VS SDK 7.1 per [1] (tried 32 and 64 bit versions)  </li>
  <li>running node-gyp from standard Windows Command Prompt or SDK7.1 cmd prompt  </li>
  </ul>
  
  <p>Refs:<br>
  [1] <a href="https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup" rel="noreferrer">https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup</a>  </p>
  
  <p>[2] <a href="https://github.com/joyent/node/tree/master/test/addons/hello-world" rel="noreferrer">https://github.com/joyent/node/tree/master/test/addons/hello-world</a>  </p>
  
  <p>[3] "node-gyp rebuild" on "hello world"[2] project produces following 2 errors:  </p>
  
  <blockquote>
    <p>....node-gyp\0.10.24\deps\uv\include\win.h(8738): error C2371: 'SYSTEM_POWER_STATUS' : redefinition; different basic types [...\build\test.vcxproj]  </p>
    
    <p>....node-gyp\0.10.24\deps\uv\include\mswsock.h(27): fatal error C
    1083: Cannot open include file: '_mingw.h': No such file or directory [...\build\test.vcxproj]  </p>
  </blockquote>
  
  <p>and following 2 warnings:  </p>
  
  <blockquote>
    <p>....node-gyp\0.10.24\deps\uv\include\win.h(13513): warning C4005:
    'UNALIGNED' : macro redefinition [...\build\test.vcxproj]  </p>
    
    <p>....node-gyp\0.10.24\deps\uv\include\mswsock.h(26): warning C4068
    : unknown pragma [...\build\test.vcxproj]  </p>
  </blockquote>
  
  <p>The full trace follows:  </p>
  
  <pre><code>C:\sigma\node_modules\x&gt;node-gyp rebuild
  gyp info it worked if it ends with ok
  gyp info using node-gyp@0.12.2
  gyp info using node@0.10.24 | win32 | x64
  gyp info spawn python
  gyp info spawn args [ 'C:\\Users\\Anybody\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
  gyp info spawn args   'binding.gyp',
  gyp info spawn args   '-f',
  gyp info spawn args   'msvs',
  gyp info spawn args   '-G',
  gyp info spawn args   'msvs_version=auto',
  gyp info spawn args   '-I',
  gyp info spawn args   'C:\\sigma\\node_modules\\x\\build\\config.gypi',
  gyp info spawn args   '-I',
  gyp info spawn args   'C:\\Users\\Anybody\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
  gyp info spawn args   '-I',
  gyp info spawn args   'C:\\Users\\Anybody\\.node-gyp\\0.10.24\\common.gypi',
  gyp info spawn args   '-Dlibrary=shared_library',
  gyp info spawn args   '-Dvisibility=default',
  gyp info spawn args   '-Dnode_root_dir=C:\\Users\\Anybody\\.node-gyp\\0.10.24',
  gyp info spawn args   '-Dmodule_root_dir=C:\\sigma\\node_modules\\x',
  gyp info spawn args   '--depth=.',
  gyp info spawn args   '--generator-output',
  gyp info spawn args   'C:\\sigma\\node_modules\\x\\build',
  gyp info spawn args   '-Goutput_dir=.' ]
  gyp info spawn msbuild
  gyp info spawn args [ 'build/binding.sln',
  gyp info spawn args   '/clp:Verbosity=minimal',
  gyp info spawn args   '/nologo',
  gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
  Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.  test.cpp
  C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\win.h(8738): error C2371: 'SYSTEM_POWER_STATUS' : redefinition; different basic types [C:\sigma\node_modules\x\build\test.vcxproj]  C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\win.h(8737) : see declaration of 'SYSTEM_POWER_STATUS'
  
  C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\win.h(13513): warning C4005: 'UNALIGNED' : macro redefinition [C:\sigma\node_modules\x\build\test.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdef s.h(502) : see previous definition of 'UNALIGNED'
  
  C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\mswsock.h(26): warning C4068 : unknown pragma [C:\sigma\node_modules\x\build\test.vcxproj] C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\_mingw.h(33): warning C4068: unknown pragma [C:\sigma\node_modules\x\build\test.vcxproj]
  
  C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\_mingw.h(51): fatal error C1 189: #error :  ERROR: You must use a GNU Compiler. [C:\sigma\node_modules\x\build\test.vcxproj]
  
  gyp ERR! build error
  gyp ERR! stack Error: msbuild failed with exit code: 1
  gyp ERR! stack at ChildProcess.onExit (C:\Users\Anybody\AppData\Roaming\npm\
  node_modules\node-gyp\lib\build.js:267:23)
  gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
  gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789:12)
  gyp ERR! System Windows_NT 6.1.7601
  gyp ERR! command "node" "C:\\Users\\Anybody\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
  gyp ERR! cwd C:\sigma\node_modules\x
  gyp ERR! node -v v0.10.24
  gyp ERR! node-gyp -v v0.12.2
  gyp ERR! not ok   
  </code></pre>