chrome 编译问题

来源:互联网 发布:支付宝没网络能付款吗 编辑:程序博客网 时间:2024/05/08 17:42


1.源码绝对不要获取最新版。获取哪个版本?一般来说,看chrome浏览器的版本下载就行。具体操作。下载chrome浏览器,右上角点chrome帮助。看版本信息。然后记住版本号。


2.记得www.chromium.org这个网址。以后你会是它的常客。。。


3.下载depot_tools。-----(这些基本的东西去别的blog看或者去上面这个网址看比较好。)配置好depot_tools的环境变量


4.切换到你想要保存源码的目录,执行gclient config http://src.chromium.org/svn/releases/36.0.1929.1 当然号是你在第一步看到的为准。搞错别怪我坑爹。是你自己坑自己。那些什么last know good release都是浮云。想要研究源码,就不要太纠结最新版。当然还是给出一个网址,给你们去看https://src.chromium.org/viewvc/chrome/releases/ 


可以到这里查看版本的可编译状态lkgr =last  known good release
http://build.chromium.org/p/chromium.lkgr/console


5.执行gclient sync.


6.先不要着急按照别的blog给出的gclient runhooks 什么的。。不然坑死你爹别怪我。打开build目录下的common.gypi。搜索msvs_disabled_warnings 加上4996, 4067, 4800, 4251 保存关闭。


7.cmd下切到源码目录。输入
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_GENERATORS=msvs
set GYP_DEFINES=component=shared_library
set GYP_MSVS_VERSION=2013


set DEPOT_TOOLS_WIN_TOOLCHAIN=1
set GYP_MSVS_VERSION=2013
set GYP_DEFINES=component=shared_library
set GYP_GENERATORS=msvs
set GYP_GENERATORS=msvs-ninja,ninja
新版本已经默认使用USE_AURA=1了。


移除不必要的依赖
"/src/third_party/WebKit/LayoutTests":None,


5、修改配置,这些配置我也是根据错误改的,我不并确定对每个人是否有用。
src\build\common.gypi
(1)查找msvs_disabled_warnings,找到
'msvs_disabled_warnings': [4351, 4355, 4396, 4503, 4819,
# TODO(maruel): These warnings are level 4. They will be slowly
# removed as code is fixed.
4100, 4121, 4125, 4127, 4130, 4131, 4189, 4201, 4238, 4244, 4245,
4310, 4428, 4481, 4505, 4510, 4512, 4530, 4610, 4611, 4701, 4702,
4706,4067,4996,4800,4251,4702,4819,
],
最后这几个数字没有的加上,因为编译的时候把可能把warning当成错误导致编译不过。
(2)查找msvs_cygwin_shell,修改为
'msvs_cygwin_shell': 1,
解决 generate_stubs.py : error : No inputs specified问题
(3)查找到msvs_cygwin_shell位置,在下边增加一行。
'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'],
解决src\third_party\ffmpeg\.\setup_env.bat 不是内部或外部命令,也不是可运行的程序 的问题


6、生成可编译代码,在src目录下运行
set DEPOT_TOOLS_WIN_TOOLCHAIN=1
set GYP_MSVS_VERSION=2013 
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=component=shared_library
gclient runhooks


在编译过程中,如果出现UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0 这种类似的错误,是python 版本错误造成的问题


单进程调试模式,设置命令行参数 --enable-webgl --single-process


0 0