其实整个编译过程很简单,这里记录编译过程踩的一个小坑
- 安装python2,设置好环境变量
- 安装Git
- 解压代码到任意目录
PS D:\projects\libuv-v1.34.2> .\vcbuild.bat debug vs2017 x64 static
Looking for Visual Studio 2017
calling: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\\Auxiliary\Build\vcvarsall.bat" x64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.20
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Found MSVS version 15.0
git clone https://chromium.googlesource.com/external/gyp build/gyp
Cloning into 'build/gyp'...
remote: Total 18473 (delta 12813), reused 18473 (delta 12813)
Receiving objects: 100% (18473/18473), 8.55 MiB | 454.00 KiB/s, done.
Resolving deltas: 100% (12813/12813), done.
Checking out files: 100% (1654/1654), done.
['-Dtarget_arch=x64', '-Duv_library=static_library', '-I', 'common.gypi', 'test/test.gyp', '--depth=.', '-Dhost_arch=x64']
在这之前,因为.\vcbuild.bat命令输错参数,被我强行Ctrl+C终止,之后就再也无法正确执行编译流程了。
查找原因后发现,首次编译的时候vcbuild脚本会先使用git clone一个gyp项目到本地,正在clone的过程被我终止了,再次执行vcbuild脚本时该脚本却认为gyp已经被clone完成了,每次都会报找不到gyp的错误。解决方法:直接更新一次源码就好了。