**
Step0. 环境配置
**
1.可用于稳定的下载网络(需要翻墙,需要翻墙,需要翻墙)重要的事情说3次
2.Win7或者更高版本的系统,必须64位,至少8GB的RAM,我采用win10 64位,16GRAM
3.比较新的VS(编译不同版本要求不一样,具体看Cef官网帮助,我用的是VS2017专业版),需要安装“C++桌面组件” 和 “MFC和ATL支持”,最好安装在默认路径,VS2017还需要特殊配置
4.Win10 SDK 10.0.17763.0,10.0.19041.0(最新版本)
5.至少100G剩余空间(官方要求),NTFS文件系统,部分文件超过4G,部分资料显示最少60G,编译结束后发现远超60G
准备工作
1.设置系统区域为英语(美国)。(控制面板-区域-管理-更改系统区域设置-英语(美国)),设置完需要重启
2.创建工作目录,路径不能包含空格及特殊字符。例如d:\cef
3.下载编译工具包,解压至工作目录。例如d:\cef\depot_tools
https://storage.googleapis.com/chrome-infra/depot_tools.zip
并添加到系统环境变量Path末尾。例:d:\cef\depot_tools
4.下载编译脚本至工作目录。例如d:\cef
https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
5.在工作目录下创建源码目录。例如d:\cef\source
6.添加系统环境变量
set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true
set GYP_DEFINES=buildtype=Official
set GYP_MSVS_VERSION=2017
set CEF_ARCHIVE_FORMAT=tar.bz2
完整目录结构:
d:/cef/
automate-git.py
depot_tools/
source/
**
Step1. 下载源码
**
管理员身份运行Cmd
--------------gclient更新以及python安装--------------
切换到工作目录d:\cef 运行gclient
d:
cd d:\cef
gclient
等待安装python和git。
--------------下载CEF源码--------------
https://bitbucket.org/chromiumembedded/cef/branches/ (分支编号可以去官网进行查找—我这里下载的分支为4324对应的CEFSharp版本为88.2.9版本
python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-build --no-distrib --force-clean
等待下载完成。等待下载完成这个过程会持续大约6个小时左右
如果下载失败则继续运行上面的命令重新下载直到下载完成
**
Step2. 文件配置
**
配置CEF支持H264
打开 source\chromium\src\third_party\ffmpeg\chromium\scripts\build_ffmpeg.py
configure_flags[‘Chrome’].extend([
‘–enable-decoder=aac,h264,mp3’,
‘–enable-demuxer=aac,mp3,mov’,
‘–enable-parser=aac,h264,mpegaudio’,
])
改为
configure_flags[‘Chrome’].extend([
‘–enable-decoder=aac,h264,mp3,mpeg4,amrnb,amrwb,flv’,
‘–enable-demuxer=aac,mp3,mov,avi,amr,flv’,
‘–enable-parser=aac,h264,mpegaudio,mpeg4video,h263’,
])
打开 source\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h
打开 source\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win\x64\config.h,
在原有配置宏FFMPEG_CONFIGURATION里增加以下:
––enable-decoder=‘rv10,rv20,rv30,rv40,cook,h263,h263i,mpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,amrnb,amrwb,ac3,flv’ ––enable-demuxer=‘rm,mpegvideo,avi,avisynth,h263,aac,amr,ac3,flv,mpegts,mpegtsraw’ ––enable-parser=‘mpegvideo,rv30,rv40,h263,mpeg4video,ac3’
并去掉FFMPEG_CONFIGURATION这里的注释
**
Step3. 命令生成
**
上面是通过查资料修改的,修改后编译能通过,没有报错,但是没有MP3、MP4支持。下面指令设置后再次编译便有了MP3、MP4支持,所以上面的这些有没有用不敢确定。
下面的指令,很重要!!!
--------------------------------------------------Cmd命令--------------------------------------------------
set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome
set GYP_DEFINES=buildtype=Official
*** set GYP_MSVS_VERSION=2017
set CEF_ARCHIVE_FORMAT=tar.bz2
set GYP_GENERATORS=ninja,msvs-ninja
*** set GN_ARGUMENTS=–ide=vs2017 --sln=cef --filters=//cef/*
*** set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional
*** set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10
*** set WINDOWSSDKDIR=C:\Program Files (x86)\Windows Kits\10
*** set VS_CRT_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\crt\src\vcruntime
*** set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include;%INCLUDE%
--------------------------------------------------x86--------------------------------------------------
*** set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x86;%LIB%
*** set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x86\Microsoft.VC141.CRT;%PATH%
--------------------------------------------------x64--------------------------------------------------
*** set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x64;%LIB%
*** set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT;%PATH%
*** 标记以上路径根据自己安装的WindowsSDK版本以及VS版本自行修改 使用统一版本进行编译
--------------------------------------------------编译命令--------------------------------------------------
--------------------------------------------------build x64--------------------------------------------------
python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build --x64-build
--------------------------------------------------build x86--------------------------------------------------
python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build
编译过程大约需要持续6个小时左右
编译好的程序输出目录为source\chromium\src\out\Release_GN_x86 和 source\chromium\src\cef\binary_distrib 编译完成后自行查看
*** 108.4.13 版本 vs2019
set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true use_thin_lto=false
set GYP_MSVS_VERSION=2019
set CEF_ARCHIVE_FORMAT=tar.bz2
set GN_DEFINES=is_official_build=true use_thin_lto=false proprietary_codecs=true ffmpeg_branding=Chrome
set GYP_GENERATORS=ninja,msvs-ninja
set GN_ARGUMENTS=–ide=vs2019 --sln=cef --filters=//cef/*
set WIN_CUSTOM_TOOLCHAIN=1
set CEF_VCVARS=none
set vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10
set VS_CRT_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\crt
-x86-------------------------------------------------------------------------------------------------------------------------------------------------
set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\include;%INCLUDE%
set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x86;%LIB%
set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.CRT;%PATH%
-x64-------------------------------------------------------------------------------------------------------------------------------------------------
set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\include;%INCLUDE%
set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;%LIB%
set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT;%PATH%
python automate-git.py --download-dir=e:\cef\source --branch=5359 --no-update --build-log-file --verbose-build --force-build --with-pgo-profiles
python automate-git.py --download-dir=e:\cef\source --branch=5359 --no-update --build-log-file --verbose-build --force-build --x64-build --with-pgo-profiles
下载地址:CefSharp_88.2.9_x86_x64_H.264
下载地址:CefSharp-108.4.13-x86-x64-H.264