【chromium】 cef源码下载

至少需要17GB的磁盘空间,不光有CEF源码,还会下载chromium源码。编译master分支的话,如果编译到chromium可能会需要windows sdk,windows sdk的版本可以参考下面提到的链接BranchesAndBuilding,windows sdk的下载可以用Visual Studio Installer或者去微软官网搜索下载。

步骤参考自MaterBuildQuickStartBranchesAndBuilding,推荐使用第二种,第一种有不确定因素(主要是网络问题),所以成为敢于爬高探头的红杏(抽象万岁)是必要的。

需要用到自动脚本automate-git.py,这个脚本自动下载源码+编译,十分方便,但是还是事先准备好一些东西才是有备无患

PS:使用pyhton automate-git.py --help可以查看这个脚本的命令行参数,十分有帮助

depot_tools

可以在chromium的编译文档中找到,也可以使用automate-git.py下载,但是automate-git.py有可能会因为网络原因下载失败,如果下载失败(爆出IOERROR socket error类似的错误)时,需要手动完成以下步骤

下载depot tools,这个是个压缩包,解压到喜欢的位置,然后配置系统的环境变量,将depot_tools的路径配置到系统PATH中去,并将优先级往前移。

打开cmd执行gclient,这个操作会让depot_tools变身成为完全版(下载相应工具例如python等)。

然后回到automate-git.py,执行的时候需要告诉automate-git.pydepot_tools已经准备好了,用--depot-tools-dir=depot_tools_path来告诉它depot_tools的路径。这样automate-git.py就会跳过下载解压depot_tools的环节,直接进入下一步骤(但是需要depot_tools是执行过gclient命令的,因为需要一些工具)。

下载源码

因为我之前编译过chromium,所以本地是有depot_tools,因此跳过下载depot_tools的环节,使用该命令下载源码并编译cefpython ./automate-git.py --depot-tools-dir=F:\depot_tools --download-dir=../ --no-release-build,其中--no-release-build是因为默认automate-git.py会编译一份debug版,一份release版,可以但可能没必要,看自己的选择,编译两个版本会占用大量的空间和时间(因为chromium太大了),这条命令使用后会进行长时间的下载,耐心等待即可(自动真爽)。拉取代码外加编译需要花费的时间花了我12个小时(跟机器性能和下载速度有关)。

PS:注意!不管是切到远程分支还是在本地仓库的多个分支checkout都应该使用automate-git.py和其参数(例如--branch或--checkout)进行操作,不然可能会失败。

生成工程文件和编译

下载好源码之后,在chromium\src\cef\目录下创建create.bat文件,文件内容如下

set GN_DEFINES=use_jumbo_build=true is_component_build=true
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*
call cef_create_projects.bat

执行后,会生成项目文件cef.sln,然后可以用VS打开,编译。(但是不推荐使用VS编译,卡,慢)

cef_create_projects.bat其实是使用gn生成了.ninja文件,可以使用ninja编译
进入chromium的src目录下执行
ninja -C out\Debug_GN_x86 cef进行编译,可以得到库文件和编译好的测试程序。

猜你喜欢

转载自www.cnblogs.com/lenomirei/p/11857986.html