如何解决 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
相关文章推荐
- MFC之头文件相互包含问题及解决方法 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- 如何解决下载的CHM文件无法显示网页问题
- 用mingw编译C++工程;程序里面的cout<<"aaa";cmd运行c++程序,aaa内容在控制台不显示,如何将aaa输出到控制台屏幕并将控制台内容写到一个文件中。
- 用VC++6.0编译时显示Error spawning cl.exe应该如何解决
- ssh传输文件显示Encountered 1 errors during the transfer 如何解决
- 如何解决无法显示隐藏文件
- 如何解决数据库中的字符型字段值中包含'0A'时,导出的文件用EXECEL打开时行数变多或者将结果导入数据库出错
- 如何解决下载的CHM文件无法显示网页问题
- 命令注意Mac系统如何显示隐藏文件
- 如何解决下载的CHM文件无法显示网页问题
- 1--magento 相关产品不显示 related product not show ---2---编译功能开启,但是后台出错上不去,编译的文件又出错的解决!!
- 如何解决下载的CHM文件无法显示网页问题
- 如何解决数据库中的字符型字段值中包含'0A'时,导出的文件用EXECEL打开时行数变多或者将结果导入数据库出错
- [ASP.NET]调用js文件的中文在.net中显示为乱码如何解决?
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 如何解决无法显示隐藏文件
- 请求帮助:如何解决烦人的VS.NET2003编译时“无法将程序集复制到文件,另一个程序正在使用,进程无法访问”的问题?
- MAC 10.8系统Mountain Lion,一些从网上下载的.dmg文件,打不开,显示“打不开…,因为它来自身份不明的开发者”如何解决?
- 如何解决无法显示隐藏文件
- CHM文件(已编译的 HTML 帮助文件)打开不显示的解决办法