如何解决 Chromium 编译时显示—注意: 包含文件:

如何解决 Chromium 编译时显示—注意: 包含文件:

在编译Chromium代码的时候,如果你使用的是中文版Visual Studio,可能会出现如下编译日志:

注意: 包含文件: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\winerror.h
注意: 包含文件: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\winerror.h

这是因为Chromium 工程编译的时候,使用了ninja作为构建管理器,C++语言编译器默认不会检查头文件依赖的改变,所以ninja 为编译命令行添加了 编译指令/showIncludes (显示该编译单元包含的头文件的)来解析依赖。

那么问题来了,为啥会出现那些诡异的错误呢?其实这是因为Chromium工程默认没有为Ninja配置
本地化的字符串过滤处理前缀,导致对本地化字符串的解析失败!

如何修改这些错误呢?

  • 修改 tools\gyp\pylib\gyp\generator\ninja.py
  master_ninja.newline()

  master_ninja.variable('msvc_deps_prefix', '注意: 包含文件:') # ANSI
  master_ninja.newline()

  master_ninja.pool('link_pool', depth=GetDefaultConcurrentLinks())
  master_ninja.newline()
  • Run hooks 后 查看 build.ninja
ml_x86 = ml.exe
ml_x64 = ml64.exe
mt = mt.exe

msvc_deps_prefix = 注意: 包含文件:

pool link_pool
  depth = 5
  • 重新构建,让ninja 解析CPP依赖的头文件

参考【1】Ninja Source
参考【2】Ninja deps


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值