天天看點

Windows 10 x64下編譯安裝ninja1. 準備工作2. Clone ninja庫3. 編譯ninja4. 安裝ninja

1. 準備工作

S1. 安裝git for Windows,下載下傳位址:https://git-scm.com/download/win

S2. 安裝Visual Studio 2015

S3. 安裝Python 3.x

2. Clone ninja庫

打開git bash,分别運作如下兩行指令:

git clone git://github.com/ninja-build/ninja.git && cd ninja
git checkout release
           

3. 編譯ninja

S1. 在Windows目錄中找到上述clone到本地ninja庫的檔案夾,通常位于

C:\users\<XXXX>

,這裡的XXXX就是目前自己的使用者。

S2. 啟動Windows CMD,cd到上述ninja庫的檔案夾内部。

S3. 在CMD中分别運作如下兩行指令:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
python configure.py --bootstrap
           

會有如下輸出(中間省略了大量形如“包含檔案”的内容):

bootstrapping ninja...
warning: A compatible version of re2c (>= 0.11.3) was not found; changes to src/*.in.cc will not affect your build.
build.cc
build_log.cc
clean.cc
clparser.cc
debug_flags.cc
depfile_parser.cc
deps_log.cc
disk_interface.cc
edit_distance.cc
eval_env.cc
graph.cc
graphviz.cc
lexer.cc
line_printer.cc
manifest_parser.cc
metrics.cc
state.cc
string_piece_util.cc
util.cc
version.cc
subprocess-win32.cc
includes_normalize-win32.cc
msvc_helper-win32.cc
msvc_helper_main-win32.cc
minidump-win32.cc
getopt.c
ninja.cc
正在生成代碼
已完成代碼的生成
wrote build.ninja.
bootstrap complete.  rebuilding...
[2/29] CXX build\depfile_parser.obj
注意: 包含檔案:  c:\users\yafux\ninja\src\depfile_parser.h
注意: 包含檔案:   C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string
注意: 包含檔案:    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\istream
注意: 包含檔案:     C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\ostream
注意: 包含檔案:      C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\ios
注意: 包含檔案:       C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocnum
注意: 包含檔案:        C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\climits
...
注意: 包含檔案:  c:\users\yafux\ninja\src\graphviz.h
注意: 包含檔案:  c:\users\yafux\ninja\src\manifest_parser.h
注意: 包含檔案:   c:\users\yafux\ninja\src\lexer.h
注意: 包含檔案:  c:\users\yafux\ninja\src\state.h
注意: 包含檔案:  c:\users\yafux\ninja\src\version.h
[29/29] LINK ninja.exe
正在生成代碼
已完成代碼的生成
           

S4. 在上述ninja庫的檔案夾内部,可以看到編譯後生成的

ninja.exe

檔案。

Windows 10 x64下編譯安裝ninja1. 準備工作2. Clone ninja庫3. 編譯ninja4. 安裝ninja

4. 安裝ninja

S1. 在系統分區下建立一個檔案夾

local

S2. 在上述

local

檔案夾中建立一個檔案夾

Ninja

S3. 将生成的

ninja.exe

檔案拷貝到S2建立的檔案夾

Ninja

中,如下圖所示。

Windows 10 x64下編譯安裝ninja1. 準備工作2. Clone ninja庫3. 編譯ninja4. 安裝ninja

S4. 将目錄

C:\local\Ninja

添加到系統的

Path

環境變量中,如下圖所示:

Windows 10 x64下編譯安裝ninja1. 準備工作2. Clone ninja庫3. 編譯ninja4. 安裝ninja
Windows 10 x64下編譯安裝ninja1. 準備工作2. Clone ninja庫3. 編譯ninja4. 安裝ninja

S5. 啟動一個新的Windows CMD視窗,并運作如下指令進行驗證:

ninja --help
           

運作後會有如下輸出:

usage: ninja [options] [targets...]

if targets are unspecified, builds the 'default' target (see manual).

options:
  --version      print ninja version ("1.9.0")
  -v, --verbose  show all command lines while building

  -C DIR   change to DIR before doing anything else
  -f FILE  specify input build file [default=build.ninja]

  -j N     run N jobs in parallel (0 means infinity) [default=6 on this system]
  -k N     keep going until N jobs fail (0 means infinity) [default=1]
  -l N     do not start new jobs if the load average is greater than N
  -n       dry run (don't run commands but act like they succeeded)

  -d MODE  enable debugging (use '-d list' to list modes)
  -t TOOL  run a subtool (use '-t list' to list subtools)
    terminates toplevel options; further flags are passed to the tool
  -w FLAG  adjust warnings (use '-w list' to list warnings)
           

S6. 至此,ninja在Windows 10下的編譯安裝就完成了。

參考資料:

https://github.com/ninja-build/ninja/blob/master/HACKING.md

繼續閱讀