当前位置: 首页 > news >正文

CEF132 编译指南 Linux 篇 - 获取 CEF 源代码:源码同步详解(五)

1. 引言

在完成所有必要工具的安装和配置之后,我们来到了整个 CEF 编译流程中至关重要的环节:获取 CEF 源代码。CEF 源码的获取过程需要我们特别关注同步策略和版本管理,以确保获取的代码版本正确且完整。本篇将详细指导你在 Linux 系统上获取并准备 CEF 6834 分支(对应 Chromium 132 版本)的源代码,包括创建工作目录、下载初始代码以及同步依赖项等关键步骤。

2. 构建 CEF 的基地:工作目录准备

2.1 创建目录结构

首先,我们需要创建一个用于存放 CEF 源代码、构建文件以及相关工具的目录结构:

mkdir ~/cef132
mkdir ~/cef132/automate
mkdir ~/cef132/chromium_git

2.2 安装基础软件包

在进行源码下载之前,我们需要安装一些必要的系统软件包:

sudo apt-get install curl file lsb-release procps python3 python3-pip

3. 配置 CEF 的编译环境

3.1 安装 Chromium 构建依赖

下载并运行 Chromium 提供的构建依赖安装脚本,以安装编译 CEF 所需的各种依赖库和工具:

# 切换到 ~/cef132 目录
cd ~/cef132


# 下载 Chromium 的构建依赖安装脚本
# 使用 curl 获取 base64 编码的脚本内容
# 通过 base64 解码,并保存为 install-build-deps.py 文件
curl 'https://chromium.googlesource.com/chromium/src/+/main/build/install-build-deps.py?format=TEXT' | base64 -d > install-build-deps.py


# 使用 sudo 权限运行 Python 脚本
# 添加了几个特定的选项:
# --no-arm: 不安装 ARM 相关的依赖
# --no-chromeos-fonts: 不安装 ChromeOS 字体
# --no-nacl: 不安装 Native Client (NaCl) 依赖
sudo python3 ./install-build-deps.py --no-arm --no-chromeos-fonts --no-nacl

3.2 设置环境变量

为了构建 CEF 6834 分支,我们需要设置一些关键的环境变量:

# 设置构建参数
export GN_DEFINES="is_official_build=true use_sysroot=true symbol_level=1 is_cfi=false proprietary_codecs=true ffmpeg_branding=Chrome"
export CEF_ARCHIVE_FORMAT=tar.bz2

请注意: 这里添加了proprietary_codecs=true ffmpeg_branding=Chrome 两个参数,用于支持 H264 等商业版编码器的使用

4. 获取 CEF 源代码:编译的基石

4.1 下载自动化构建脚本

获取 CEF 项目提供的自动化构建脚本 automate-git.py

cd ~/cef132/automate
wget https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py

4.2 创建源码更新脚本

创建一个名为 update.sh 的脚本,用于执行 CEF 源码的下载和更新操作:

cd ~/cef132/chromium_git


cat > update.sh << 'EOL'
#!/bin/bash
python3 ../automate/automate-git.py \
  --download-dir=/home/$USER/cef132/chromium_git \
  --depot-tools-dir=/home/$USER/depot_tools \
  --branch=6834 \
  --no-build \
  --no-distrib
EOL


chmod 755 update.sh

重要提示: 这里的 branch=6834 指定了我们要获取的 CEF 分支,它对应于 CEF 132 版本。这是版本对应的关键,务必确保正确。

4.3 执行源码同步

现在,我们可以运行 update.sh 脚本来下载 CEF 6834 分支的源代码了:

cd ~/cef132/chromium_git
./update.sh

特别提醒:

  • 源码下载过程可能需要数小时,具体时间取决于你的网络状况。
  • 请确保你的硬盘有足够的可用空间(建议至少 200GB)。
  • 在下载过程中,请保持网络连接稳定。
  • CEF 源代码将被下载到 ~/cef132/chromium_git/cef 目录。
  • Chromium 源代码将被下载到 ~/cef132/chromium_git/chromium/src 目录。

5. 结语

通过本篇的操作指导,我们已经成功完成了 CEF 6834 分支源代码的获取和准备工作。这个过程虽然看起来步骤繁多,但每一步都至关重要。正确的配置和足够的耐心是成功的关键。确保所有步骤都准确执行,这将为后续的编译工作奠定坚实的基础。

在下一篇《CEF132 编译指南 Linux 篇 - 系统依赖配置:为编译保驾护航(六)》中,我们将继续介绍如何配置系统依赖,为最终的编译工作做好最后的准备。让我们继续这段循序渐进的 CEF 编译之旅!

相关文章:

  • 代码随想录算法训练营Day47
  • 爱彼(Audemars Piguet):瑞士制表艺术的巅峰之作(中英双语)
  • 使用Charles进行mock请求
  • 如何调整 Nginx工作进程数以提升性能
  • 华为ensp IPSEC隧道两端经过nat配置实验!
  • 【kafka系列】Exactly Once语义
  • DeepSeek进阶开发与应用2:DeepSeek中的自定义层与复杂模型构建
  • 【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
  • SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
  • 如何优雅地使用全局标志位
  • servlet中的ServletContext
  • 【D2】神经网络初步学习
  • dfs深度优先搜索—邻接矩阵 + 邻接矩阵-递归版 + 邻接表
  • 基于Flask的茶叶销售数据可视化分析系统设计与实现
  • 一. vue2和vue3的Proxy底层源码详细拆解
  • Kepware的OPC UA配置深入介绍
  • C++ 中将类的定义和实现都放在头文件中的优缺点分析
  • 【20250215】二叉树:94.二叉树的中序遍历
  • 深入理解Elasticsearch集群与分片:原理及配置方案
  • 【硬件设计细节】缓冲驱动器使用注意事项
  • 王毅谈中拉论坛十年成果
  • 临港新片区:发布再保险、国际航运、生物医药3个领域数据出境操作指引
  • AI药企英矽智能第三次递表港交所:去年亏损超1700万美元,收入多数来自对外授权
  • “80后”赵亮出任上海普陀区委副书记
  • 国家主席习近平同普京总统共见记者
  • 水中托举救出落水孩童后遇难,42岁退役军人高武被确认为见义勇为