首页 CEF系列5:官方编译
文章
取消

CEF系列5:官方编译

使用automate-git.py --help脚本编译,具体可以参考系列1

这是个CEF build script,它会下载depot_tools(如果没有的话),还有chromium和CEF源码

按官方文档放好目录结构,可以将chromium_git 改成其它目录,就能同时处理多个分支。

创建c:\code\chromium_git\update.bat并在cmd里面运行(注意代码路径最好尽量短,不然后面创建文件会失败,目录C:\code\cef_compile\official\lastest就长了,要少于35个字符),用于启动automate-git.py

set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chromead

其中的is_official_build:表示disable debugging code and enable additional link-time optimizations in Release builds,

另2个表示开启ffmpeg支持,用于h264解码

is_component_build=true 一般不用,用于reduce link time.cannot be used to create a CEF binary distribution.会生成很多小的动态库,而不是生成一个大的静态库。

automate-git.py选项

1
2
3
4
5
6
7
8
9
--branch=XXXX 用于指定cef分支名

--no-distrib: Don't create a CEF binary distribution.

--with-pgo-profiles:Download PGO profiles for the build.

--no-build: Do not build CEF.

--x64-build :64位,更多选项可以看对应py脚本

会输出:

1
2
3
4
5
Reading C:\code\cef_compile\official\lastest\cef\CHROMIUM_BUILD_COMPATIBILITY.txt
CEF Output Directory: C:\code\cef_compile\official\lastest\out_master
Writing C:\code\cef_compile\official\lastest\chromium\.gclient
Copying directory C:\code\cef_compile\official\lastest\cef to C:\code\cef_compile\official\lastest\chromium\src\cef
Writing C:\code\cef_compile\official\lastest\chromium\src\out\cef.branch

创建src\cef\create.bat 并运行(GN_DEFINES配置项和上面保存一致)(generate Ninja and Visual Studio project files.如cef.sln)

最后就是编译

autoninja -C out\Debug_GN_x86 cef

参考

https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md

https://chromium.googlesource.com/chromium/src/+/master/docs/component_build.md

本文由作者按照 CC BY 4.0 进行授权