您的位置:首页 > 其它

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

2017-02-27 14:59 4027 查看

如何解决 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐