注:Cefharp 音频和视频播放编译,生成相应的dll文件,从而支持项目开发。 建议编译至少 16G 的 RAM
和至少 250G 的 SSD
。该脚本以 E 盘
为例,您需要在 E 盘上手动创建 cef 文件夹
。禁止在转载后通过发布其他平台向用户收取下载费用
。
GitHub原文:https://github.com/KamenLiefu/CefSharp/?tab=readme-ov-file
Github编译版本免费下载:https://github.com/KamenLiefu/CefSharp/releases
md E:\cef\chromium\src
1.版本选择
配置 Web 地址:
https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md
日期 | 发布分支 | Chromium 版本 | CEF 版本 | Windows 内部版本要求 |
---|---|---|---|---|
2024年6月 | 6533 | 127 | 127 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.9.2,Win 10.0.22621 SDK,Ninja |
2024 年 5 月 | 6478 | 126 | 126 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.9.2,Win 10.0.22621 SDK,Ninja |
2024年4月 | 6422 | 125 | 125 | Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja |
2024年3月 | 6367 | 124 | 124 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja |
2024年2月 | 6312 | 123 | 123 | Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja |
2024年1月 | 6261 | 122 | 122 | Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja |
2023年12月 | 6167 | 121 | 121 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja |
2023年11月 | 6099 | 120 | 120 | Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja |
2023年10月 | 6045 | 119 | 119 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja |
2023年9月 | 5993 | 118 | 118 | Win 10+ 部署, Win 10+ 构建系统,带 VS2022 17.5+, Win 10.0.22621 SDK, Ninja |
2023年8月 | 5938 | 117 | 117 | Win 10+ 部署, Win 10+ 构建系统,带 VS2022 17.5+, Win 10.0.22621 SDK, Ninja |
2023年6月 | 5845 | 116 | 116 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja |
2023 年 5 月 | 5790 | 115 | 115 | Win 10+ 部署, Win 10+ 构建系统,带 VS2022 17.5+, Win 10.0.22621 SDK, Ninja |
2023年4月 | 5735 | 114 | 114 | Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja |
2023年3月 | 5672 | 113 | 113 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja |
2023年2月 | 5615 | 112 | 112 | Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja |
2023年1月 | 5563 | 111 | 111 | Win 10+ 部署, Win 10+ 构建系统,带 VS2019 16.11.13+, Win 10.0.20348 SDK, Ninja |
2022年12月 | 5481 | 110 | 110 | Win 10+ 部署,Win 10+ 构建系统,带 VS2019 16.11.13+,Win 10.0.20348 SDK,Ninja |
2022年11月 | 5414 | 109 | 109 | Win 7+ 部署, Win 10+ 构建系统,带 VS2019 16.11.13+, Win 10.0.20348 SDK, Ninja |
选择所需的版本并配置环境。
例如:install vs2022,选择相应的sdk,10.0.22621.2428。
VS2022 requires the selection of C++.
2.网络选择
选择适当的网络来访问 Internet,然后根据网络工具,可以设置代理。 例如,建议每次打开cmd时手动执行它,以实际端口号为准。
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890
3.环境初始化
以管理员身份运行 cmd 并进入批处理脚本所在的目录,在cmd窗口执行批处理脚本。
:: Disable automatic update of depot_tools
setx DEPOT_TOOLS_UPDATE "0"
:: Using a locally installed version of Visual Studio
setx DEPOT_TOOLS_WIN_TOOLCHAIN "0"
:: GN Build Tool
set CEF_USE_GN=1
:: Creating a Project with VS2022
set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
:: Use the official build and add ffmpeg audio/video decoding
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0
set GYP_DEFINES=buildtype=Official
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2022
set CEF_ARCHIVE_FORMAT=tar.bz2
set VS_CRT_ROOT=D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.40.33807\crt
set WIN_CUSTOM_TOOLCHAIN=1
set CEF_VCVARS=none
set GYP_MSVS_OVERRIDE_PATH=D:\Program Files\Microsoft Visual Studio\2022\Professional
set MSVC_VERSION=14.40.33807
set SDK_ROOT=D:\Program Files (x86)\Windows Kits\10
set WINDOWSSDKDIR=D:\Program Files (x86)\Windows Kits\10
set SDK_VERSION=10.0.22621.0
for /f "tokens=3,*" %i in ('reg query HKCU\Environment /v Path') do setx Path "E:\cef\depot_tools\;%i%j"
命令行执行 0.environment_init.bat
4.CEF下载
根据选择的分支执行,这里以 6422 分支为例
cd E:\cef
::Clone the source code and switch to the 6422 branch
git clone https://bitbucket.org/chromiumembedded/cef.git -b 6422
命令行执行 1.downing_cef.bat
5.Chromium下载
根据所选分支的CHROMIUM_BUILD_COMPATIBILITY.txt检查版本。
# The Chromium Embedded Framework (CEF) project is built on top of the Chromium
# project source tree. Chromium should be updated to the URL and revision listed
# below before building CEF. Chromium compatibility information for older CEF
# revisions is available by viewing this file's change history.
#
# Instructions for building CEF are available at:
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/125.0.6422.142',
'depot_tools_checkout': '3e4ab13934'
}
cd E:\cef\chromium
:: (cef 6422 branch corresponds to chromiun tag: 125.0.6422.142)
git clone https://chromium.googlesource.com/chromium/src.git -b 125.0.6422.142 --depth 1
命令行执行2.downing_chromium.bat
6.depot_tools下载
cd E:\cef
:: Download depot_tools tool
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd E:\cef\depot_tools
:: Temporary permission to update
set DEPOT_TOOLS_UPDATE=1
:: depot_tools batch script Update_Depot_tools.bat
update_depot_tools.bat
:: prohibit updating
set DEPOT_TOOLS_UPDATE=0
:: checkout,(CEF 6422 branch corresponds to depot_tools commit ID: 3e4ab13934)
checkout 3e4ab13934
命令行执行 3.downing_depot_tools
7.同步
cd E:\cef\chromium
:: Create the .gclient file with the command
gclient config https://chromium.googlesource.com/chromium/src.git --unmanaged
gclient sync --nohooks --no-history
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
@echo "gclient runhooks"
gclient runhooks
建议手动执行4.chromium_client剩下的命令
8.构建项目
cd E:\cef\chromium\src\cef
set CEF_USE_GN=1
set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0
set GYP_DEFINES=buildtype=Official
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2022
set CEF_ARCHIVE_FORMAT=tar.bz2
set VS_CRT_ROOT=D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.40.33807\crt
set WIN_CUSTOM_TOOLCHAIN=1
::set CEF_VCVARS=none
set GYP_MSVS_OVERRIDE_PATH=D:\Program Files\Microsoft Visual Studio\2022\Professional
set MSVC_VERSION=14.40.33807
set SDK_ROOT=D:\Program Files (x86)\Windows Kits\10
set WINDOWSSDKDIR=D:\Program Files (x86)\Windows Kits\10
set SDK_VERSION=10.0.22621.0
@REM compiling 64-bit call VS script has problems, the following change to set the path manually
@REM call "D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64
set INCLUDE=%SDK_ROOT%\Include\%SDK_VERSION%\um;%SDK_ROOT%\Include\%SDK_VERSION%\ucrt;%SDK_ROOT%\Include\%SDK_VERSION%\shared;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\include;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\atlmfc\include;%INCLUDE%
set LIB=%SDK_ROOT%\Lib\%SDK_VERSION%\um\x64;%SDK_ROOT%\10\Lib\%SDK_VERSION%\ucrt\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\lib\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\atlmfc\lib\x64;%LIB%
set PATH=%SDK_ROOT%\bin\%SDK_VERSION%\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\bin\HostX64\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\bin\HostX64\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT;%PATH%
:: create project
call cef_create_projects.bat
cef需要移动到chromium/src目录下,手动执行5.build_project
9.CEF编译
根据计算机配置,相对编译时间更长,8~10小时,甚至更长。
cd E:\cef\chromium\src
ninja -C out\Release_GN_x64_sandbox cef_sandbox
ninja -C out/Release_GN_x64 cef
命令行手动执行6.cef_compile
10.打包生成
cd E:\cef\chromium\src\cef\tools
set CEF_VCVARS=none
set CEF_ARCHIVE_FORMAT=tar.bz2
:: --minimal(可选择stable版本等等)
make_distrib.bat --ninja-build --no-docs --x64-build --no-symbols --minimal
11.结果展示
使用生成的 dll 测试站点
测试 h264 是否打开,即音频/视频播放。
12.致谢
1.非常感谢博客园zgliubo博主提供的解决方案,致以诚挚的感谢。博主博客原文链接如下:博客原文
2.非常感谢博客园rmb_999博主chromium浏览器定制的解决方案,为编译过程中出现的问题提供了解决思路和方案。博主博客原文链接如下:博客原文