序
装了vs2015.3.ent_enu.iso, 编译chromium.
前面的步骤都搞好了。
当执行 ninja -C out\Default chrome 时,报错如下:
\depot_tools\src\base\win\windows_version.cc(18): fatal error C1189: #error: VS 2015 Update 3 with Cumulative Servicing Release or higher is required
[316/29919] CXX obj/base/base/win_util.obj
ninja: build stopped: subcommand failed.
实验
查windows_version.cc源码, 看到检测编译版本的代码
#include "base/win/registry.h"
#if !defined(__clang__) && _MSC_FULL_VER < 190024213
#error VS 2015 Update 3 with Cumulative Servicing Release or higher is required
#endif
看来是vs2015update3还要打补丁或者没装全或者装失败了,导致CL版本没升级到要求的版本.
折腾了2天,才发现,还是vs2015安装时,选的不全。不用再打vs2015update3的2个补丁.
能用的vs2015版本的安装选项:先全选,然后去掉F#,移动开发,win8SDK.
如果最后某个安装选项失败,按照log提示,先卸掉安装失败的选项,重新安装时,选择修复.
查看CL版本的命令
这个查看选项没在CL的帮助中,查资料,看到别人这么用.
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin>cl /Bv
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
Compiler Passes:
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe: Version 19.00.24215.1
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\c1.dll: Version 19.00.24215.1
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\c1xx.dll: Version 19.00.24215.1
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\c2.dll: Version 19.00.24215.1
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe: Version 14.00.24215.1
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\mspdb140.dll: Version 14.00.24210.0
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\1033\clui.dll: Version 19.00.24215.1
cl : Command line error D8003 : missing source filename
测试程序
写了一个测试程序,看看刚装完的vs2015的_MSC_FULL_VER是多少?
// ConsoleApplication1_1602.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
int main()
{
long lVer = _MSC_FULL_VER;
printf("_MSC_FULL_VER = %d\n", _MSC_FULL_VER);
/**
190023026 // vs2015 RTM original version
190024210 // this is mine
190024213 // this is chromium request
190024215 // 完整的装完vs2015update3
*/
system("pause");
return 0;
}