You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
| title | date | tags | categories |
|---|---|---|---|
| 解决chromium警告C4819 | 2018-04-26 20:57:04 | [chromium] | chromium |
初次构建chromium的时候,可能会遇到错误
- : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
- error C2220: warning treated as error - no 'object' file generated
尤其是在Windows上构建的时候,更容易遇到,网络上的方法,基本都是修改系统区域为英国(美国):
控制面板--区域--管理--更改系统区域设置 在页面中选择英语区域即可
这样修改系统设置,我不太喜欢,尤其是在工作机上,这样修改可能会引起其他未知问题,所以直接修改了gn配置文件中的default_warnings字段,添加一项"/wd4819"即可。
Update:
上面方法会导致部分文件无法正常解析,产生各种奇怪的语法错误。
新版chromium已经修复了此问题,提交详情见这里,最新的BUILD.gn文件见这里,其基本原理就是VS2015支持的新特性/utf-8,所以最终只需要在build/config/compiler/BUILD.gn文件中添加该编译选项即可:
cflags += [
# Assume UTF-8 by default to avoid code page dependencies.
"/utf-8",
]