【chromium】 cef源码下载
至少需要17GB的磁盘空间,不光有CEF源码,还会下载chromium源码。编译master分支的话,如果编译到chromium可能会需要windows sdk,windows sdk的版本可以参考下面提到的链接BranchesAndBuilding,windows sdk的下载可以用Visual Studio Installer或者去微软官网搜索下载。
步骤参考自MaterBuildQuickStart和BranchesAndBuilding,推荐使用第二种,第一种有不确定因素(主要是网络问题),所以成为敢于爬高探头的红杏(抽象万岁)是必要的。
需要用到自动脚本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太大了),这条命令使用后会进行长时间的下载,耐心等待即可(自动真爽)。拉取代码需要花费的时间大概是6个小时(跟机器性能和下载速度有关)。
PS:注意!不管是切到远程分支还是在本地仓库的多个分支checkout都应该使用automate-git.py和其参数(例如--branch或--checkout)进行操作,不然可能会失败。
生成工程文件和编译
下载好源码之后,在chromium\src\cef\目录下创建create.bat文件,文件内容如下,设置了增快编译速度和生成vs用的解决方案的的gn参数
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进行编译,可以得到库文件和编译好的测试程序。
【chromium】 cef源码下载的更多相关文章
- CEF源码编译
CEF的构造说明:https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding chromium的源码地址:https://c ...
- Google Chrome 源码下载地址 (Google Chrome Source Code Download)
1. Google Chrome 源码 SVN 地址:http://src.chromium.org/svn.包含有 Chrome.Gears.Webkit.GCC 等源码以及编译依赖工具.Chrom ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- C# Excel导入、导出【源码下载】
本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...
- C# 条形码操作【源码下载】
本篇介绍通过C#生成和读取一维码.二维码的操作. 目录 1. 介绍:介绍条形码.条形码的分类以及ZXing.Net类库. 2. 一维码操作:包含对一维码的生成.读取操作. 3. 二维码操作:包含对二维 ...
- DataGridView绑定源码下载
效果图: 源码下载:http://hovertree.com/h/bjaf/bbot18bj.htm 上面源码不包含数据库的查询,需要获取数据库数据的话,请看这个的源码: http://hovertr ...
- Web 开发中很实用的10个效果【附源码下载】
在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...
- Android 源码下载方法(Git 方式clone)
Android源码对于Android开发者来说,迟早有一天你会用到的,所以就记录一下,分享给读者,希望对读者有用 这里需要使用到Git相关知识,不清楚的可以先阅读,了解的可以跳过 Git-Tortoi ...
- yate: windows下源码下载,配置,编译
源码下载:使用svn下载checkout:http://voip.null.ro/svn/yate/trunk 配置:(本人使用的是vs2008,故下载的qt工具都是对应2008) 1. 下载并安装q ...
随机推荐
- uni-app通过判断接口403跳转登录页面的问题
需求: 当向后端请求接口返回 403 的时候,直接跳到登录页面让用户登录 实现方案: 在请求结束后拦截器中判断,如果是 403 就跳转 遇到难题: 一级页面(我的) onShow() 中有接口请求,用 ...
- .NET Core中 实现H5微信登录(静默授权方式)
需求 假设现在有一个H5需要有微信登录.手机号登录.邮箱登录 三种登录方式.让我们一起来看看微信登录如何实现吧 界面: 最终实现的效果图(登录成功后返回个人页): 因为微信登录目前没有实现移动端的其他 ...
- Linux下getopt()函数
from https://www.cnblogs.com/qingergege/p/5914218.html 最近在弄Linux C编程,本科的时候没好好学啊,希望学弟学妹们引以为鉴. 好了,虽然啰嗦 ...
- linux下使用selenium
安装chromedriver 1.安装chrome 用下面的命令安装最新的 Google Chrome yum install https://dl.google.com/linux/direct/g ...
- Asp.Net构架(Http请求处理流程)
一:引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何一步步拖放控件.设置控件属性.编写CodeBehind代码,以实现某个 ...
- np.random 系列函数
1 random() # 产生区间 [0, 1) 均匀分布的浮点数样本值 np.random.seed(42) 2 rand(d0, d1, ..., dn) # 产生区间 [0, 1) 均 ...
- JavaScript-前言
目录 前言 前言 这是针对纯小白的Javascript教程. 有人问我,网页中流行的脚本语言是什么?这个时候我会简单粗暴的说:只有Javascript!对,只有Javascript.Javascrip ...
- 机器取代人类成为现实,Linux shell才可被取代?
机器取代人类成为现实,Linux shell才可被取代? 新睿云 新睿云 新睿云-让云服务触手可及 本次笔者用通俗易懂的语言介绍一下Linux shell,由于笔者能力有限,如有有描述不准确的地方还请 ...
- ubuntu配置定时任务crontab何保存退出
crontab -e配置完成后,如何把保存并退出? 1.Ctrl+o 写入 2.出现“FIile name to Write...”,输入Enter 3.Ctrl+x 保存输出 提示“crontab: ...
- pointnet++论文的翻译
参考: https://blog.csdn.net/weixin_40664094/article/details/83902950 https://blog.csdn.net/pikachu_777 ...