fatal error C1189: #error: VS 2015 Update 3 with Cumulative Servicing Release or higher is required

装了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;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值