赞
踩
CPU:Intel E31275 3.4G
内存:16G
硬盘:500G固态硬盘
depot_tools commit:963e01c76c
CEF Branch:5563
CEF commit:ebf5d6ab43c61ebd6ece0c504e15fe73b8da59d6
Chromium Version:111.0.5563.148
Visual Studio 2019
Windows 10 SDK 10.0.20348.0
使用vs2019编译Chromium支持的最后一版本是111,后面版本需要vs2022
Chromium支持win7的最后一版本是109
中文操作系统需要修改英文模式
(1)打开Windows 设置,选择时间和语言
(2)选择区域选项,将国家或地区设置成美国
(3)选择语言选项,点击添加语言,选择英语(美国),下一步勾选设置为我的Windows显示语言
(4)完成语言包的切换后会要求注销账户,根据提示注销
(5)重新登录账户
(6)回到刚才的语言选项,点击管理语言设置
(7)点击更改系统区域设置,选择英语(美国),勾选 Bate 版:使用 Unicode UTF-8 提供全球语言支持 选项
(8)点击确定,按照提示重启系统,重启完成后会将语言设置成英文
或者添加系统参数
- set PYTHONLEGACYWINDOWSSTDIO=utf8
- set PYTHONIOENCODING=utf8
- set PYTHONUTF8=1
- set http_proxy=http://127.0.0.1:10809
- set https_proxy=http://127.0.0.1:10809
-
- git config --global http.proxy %http_proxy%
- git config --global https.proxy %https_proxy%
-
- set BOTO_CONFIG=C:\code\boto.cfg
- set NO_AUTH_BOTO_CONFIG=C:\code\boto.cfg
-
boto.cfg
- [Boto]
- proxy=127.0.0.1
- proxy_port=10809
- proxy_type=http
取消代理
- set http_proxy=
- set https_proxy=
-
- git config --global --unset http.proxy
- git config --global --unset https.proxy
官网构建chromium方法
官网构建cef方法
官方构建cef成品下载地址
官方jcef git地址
GitHub - jcefmaven/jcefbuild: Builds for JCef
Visual Studio版本和SDK版本可查看:BranchesAndBuilding
运行以下命令进行安装,安装Visual Studio时候可以不装windows sdk,后面手动下载安装
- $PATH_TO_INSTALLER.EXE ^
- --add Microsoft.VisualStudio.Workload.NativeDesktop ^
- --add Microsoft.VisualStudio.Component.VC.ATLMFC ^
- --add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
- --add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ^
- --includeRecommended
安装windows sdk
安装时候必须勾选Debugging Tools for windows
- md C:\code\automate
- md C:\code\chromium_git
- md C:\code\depot_tools
下载 depot_tools.zip,解压到depot_tools文件夹
运行"update_depot_tools.bat" 安装python和git
- cd c:\code\depot_tools
- update_depot_tools.bat
下载 automate-git.py 放到 automate文件夹
1.Path 新增一个路径c:\code\depot_tools
2.创建一个系统变量DEPOT_TOOLS_WIN_TOOLCHAIN 值0
在C:\code\chromium_git
创建update.bat
,内容如下
- set download_dir=c:\code\chromium_git
- set depot-tools-dir=c:\code\depot_tools
- set cef_branch=5563
-
- set GN_DEFINES=use_jumbo_build=true ffmpeg_branding=Chrome proprietary_codecs=true
- set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
-
- python ..\automate\automate-git.py --download-dir=%download_dir% --depot-tools-dir=%depot-tools-dir% --branch=%cef_branch% --no-distrib --no-build
设置好代理后 执行脚本,会自动拉取cef和chromium的源码
总共20G左右
一次运行不成功就运行多次,知道不报错为止
在C:\code
创建autobuild.bat,内容如下
- set download_dir=c:\code\chromium_git
- set depot-tools-dir=c:\code\depot_tools
- set cef_branch=5414
-
- set GN_DEFINES=proprietary_codecs=true ffmpeg_branding=Chrome is_official_build=true is_debug=false symbol_level=0 enable_nacl=false
-
-
- set GYP_MSVS_VERSION=2019
- set CEF_ARCHIVE_FORMAT=tar.bz2
-
- python automate/automate-git.py --download-dir=%download_dir% --depot-tools-dir=%depot-tools-dir% --branch=%cef_branch% --minimal-distrib --client-distrib --force-clean --x64-build --with-pgo-profiles --no-debug-build --no-depot-tools-update --no-chromium-update --force-config
自动构建并打包,打包到C:\code\chromium_git\chromium\src\cef\binary_distrib目录下
参数名称 | 参数含义 |
--minimal-distrib | 最小打包 |
--client-distrib | 客户端打包 |
--force-clean | 强制清理src中的out和cef,并重新下载cef |
--x64-build | 64位构建,不加此参数为32位构建 |
--with-pgo-profiles | pgo插件? |
--no-debug-build | 不构建debug |
--no-depot-tools-update | 不更新depot-tools |
--no-chromium-update | 不更新chromium |
--force-config | 强制更新.gclient配置 |
拉取代码后
切换到目录 C:\code\chromium_git\chromium\src\cef
创建create.bat
内容如下
- set GN_DEFINES=use_jumbo_build=true ffmpeg_branding=Chrome proprietary_codecs=true is_component_build=false
-
- set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
-
- call cef_create_projects.bat
发布时记得设置is_component_build = false
运行create.bat后,out成功生成
切换到C:\code\chromium_git\chromium\src
编译chromium内核
ninja -C out\Release_GN_x64 cef
1)同步chromium代码时候要使用官方提供方式下载,不要直接使用git同步,不然会出现构建时间异常的问题。
造成C:\code\chromium_git\chromium\src\build\util
LASTCHANGE.committime文件中,值为0
LASTCHANGE文件中,LASTCHANGE_YEAR=0
出现如下报错
比如报这样的错
git log -1 --format=%H %ct
比如报这样的错
python3.exe ../../build/write_build_date_header.py gen/base/generated_build_date.h -2142000
正常这两个文件应该是
LASTCHANGE
- LASTCHANGE=168eebf2055fd26ca8c71787b7b3f9fe7c90d13d-refs/branch-heads/5414@{#1459}
- LASTCHANGE_YEAR=2023
LASTCHANGE.committime
1674498815
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。