一、安装VS2015以及win10SDK
1、 Windows平台下系统必须是Window7 x64 及以后的版本,其它版本、x86 系统不支持。
2、设置系统区域,必须选择英语(美国)
3、 安装VS2015
Windows 平台下必须安装 Visual Studio 2015 Update 2或者更高的版本,
请选择自定义安装,需要选以下几项:
Ÿ Visual C++, which will select three sub-categoriesincluding MFC
Ÿ Universal Windows Apps Development Tools > Tools
Ÿ Universal Windows Apps Development Tools > Windows 10SDK (10.0.10586)
4、 必须安装Windows 10 SDK(10.0.10586)或者更高的版本。
5、 最新要求请参考官方文档。
二、拉取代码&编译:
假设在E:\ cef2840目录下开发(2840为分支版本)
1. 创建下面文件夹:
E:\ cef2840\automate
E:\ cef2840\chromium_git
2. 下载depot_tools,然后解压到E:\ cef2840\depot_tools,不要使用拖拽方式解压。
注:有关depot_tools工具的介绍请参见本文档目录下的相关文档。
3. 运行update_depot_tools.bat,用来安装python、git、svn等工具。
即使本机已安装上述工具,这里也需要重新安装(这一步一般需要vpn或者代理,下载的文件大概100M以内)。
cd E:\ cef2840\depot_tools
update_depot_tools.bat
4. 添加环境变量E:\ cef2840\depot_tools到PATH下。
这里要注意若之前已解压过depot_tools到别的目录并且设置了环境变量,则此处需要更新路径到新目录。
下载脚本文件automate-git.py,放在E:\ cef2840\automate\automate-git.py
5. 使用下列代码创建批处理文件E:\ cef2840\chromium_git\update.bat
set GYP_MSVS_VERSION=2015
python ..\automate\automate-git.py --download-dir=E:\ cef2840\chromium_git --depot-tools-dir=E:\ cef2840\depot_tools --branch=2840 --no-distrib --no-build
注:上面代码里的dir改成你自己的路径。
--branch=2840,2840是cef的分支版本号,通过cd cef,git branch –r 可以查看所有cef的远程分支版本,只能选这里面的其中一个版本,填其他不存在的版本不行。然后会下载最新的chromium代码,下载完后会把chromium代码自动切换到对应的2840分支。
运行update.bat文件,它会自动下载CEF及Chromium源代码。
CEF代码会下载到E:\ cef2840\chromium_git\cef目录下。
Chromium代码会下载到E:\ cef2840\chromium_git\chromium\src目录下。
友情提示:刚开了vpn或者代理更新depot_tools的请把vpn或者代理关闭,然后再执行update.bat下载源码,否则vpn流量很快就被耗光了(源码+第三方package大概13G)。
6. 使用下列代码创建批处理文件。
E:\cef2840\chromium_git\chromium\src\cef\create.bat
set GYP_MSVS_VERSION=2015
set GYP_GENERATORS=ninja,msvs-ninja
call cef_create_projects.bat
运行create.bat,它会创建ninja和vs的工程文件cef.lsn。
运行后会在E:\ cef2840\chromium_git\chromium\src\out\目录下产生对应的各个版本的cef.sln文件。
注:ninja是一个用来编译和build工程的开源项目。与开发chromium一样,这里推荐使用vs来查看和调试代码,使用ninja来编译和build工程。单独使用vs来编译工程很可能会编不过。
7. 修改gn配置
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2015
git bash
在bash窗口输入以下指令会打开gn编译参数配置文件args.gn
$ gn args out/Debug_GN_x86
在打开的args.gn文件中加入以下两行即可加入mp3等支持
proprietary_codecs=true
ffmpeg_branding="Chrome"
8.生成vs解决方案all.sln(大工程,用vs打开简直要崩溃~)
$ gn gen out/Debug_GN_x86 --ide=vs
9.编译(cefclient cefsimple cef_unittests,还可以添加其他的)
$ninja -C out/Debug_GN_x86 cefclient cefsimple cef_unittests
10.附加(生成某个模块的VS解决方案)
$gn gen --ide=vs2015 --sln=content_shell --filters=//content/shell/* --no-deps out/Debug_GN_x86
--ide=vs2015 vs2015解决方案
--sln=content_shell 解决方案名称content_shell.sln 可以取其他
--filters=//content/shell/* 源文件为content/shell目录下的所有文件
--no-deps 不生产其他依赖项,如果不设置,生成的解决方案很大打开很慢
out/Debug_GN_x86 输出目录