electron/docs/development/build-instructions-windows.md
2014-05-05 09:48:44 +08:00

2.9 KiB

Build instructions (Windows)

Prerequisites

  • Windows 7 or later
  • Visual Studio 2010 Express or Professional
    • Make sure "X64 Compilers and Tools" are installed if you use the Professional edition.
  • Python 2.7
  • node.js
  • git

If you are using Visual Studio 2010 Express then you also need following softwares:

  • WDK
    • Build Environments is required.
  • Windows 7 SDK
    • Windows Headers and Visual C++ Compilers are required.

The instructions bellow are executed under cygwin, but it's not a requirement, you can also build atom-shell under Windows's console or other terminals.

The building of atom-shell is done entirely with command line scripts, so you can use any editor you like to develop atom-shell, but it also means you can not use Visual Studio for the development. Support of building with Visual Studio will come in future.

Note: Even though Visual Studio is not used for building, it's still required because we need the build toolchains it provided.

Getting the code

$ git clone https://github.com/atom/atom-shell.git

Bootstrapping

The bootstrap script will download all necessary build dependencies and create build project files. Notice that we're using ninja to build atom-shell so there is no Visual Studio project generated.

$ cd atom-shell
$ python script/bootstrap.py

Building

Build both Release and Debug targets:

$ python script/build.py

You can also only build the Debug target:

$ python script/build.py -c Debug

After building is done, you can find atom.exe under out\Debug.

64bit support

Currently atom-shell can only be built for 32bit target on Windows, support for 64bit would come in future.

Tests

$ python script/test.py

Troubleshooting

Assertion failed: ((handle))->activecnt >= 0

When building under cygwin, you could see bootstrap.py failed with following error:

Assertion failed: ((handle))->activecnt >= 0, file src\win\pipe.c, line 1430

Traceback (most recent call last):
  File "script/bootstrap.py", line 87, in <module>
    sys.exit(main())
  File "script/bootstrap.py", line 22, in main
    update_node_modules('.')
  File "script/bootstrap.py", line 56, in update_node_modules
    execute([NPM, 'install'])
  File "/home/zcbenz/codes/raven/script/lib/util.py", line 118, in execute
    raise e
subprocess.CalledProcessError: Command '['npm.cmd', 'install']' returned non-zero exit status 3

This is caused a bug when using cygwin python and win32 node together, the solution is to use the win32 python to execute the bootstrap script (supposing you have installed python under C:\Python27):

/cygdrive/c/Python27/python.exe script/bootstrap.py