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

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 编译之旅!


http://www.kler.cn/a/549794.html

相关文章:

  • 通过内网穿透ssh实现远程对家里的linux进行终端操作和编程
  • 在Amlogic S905X5M Android14 平台上移植移远EC25 4G模组1:内核修改
  • 【Elasticsearch】token filter分词过滤器
  • linux-shell脚本
  • 可观测性面试指南:常见问题与最佳实践
  • 【鱼眼镜头12】Scaramuzza的鱼眼相机模型实操,不依赖于具体的相机几何结构,直接从图像数据出发,因此更具灵活性。
  • Docker 常用命令基础详解(二)
  • 【经验记录】在windows电脑上使用Docker-Desktop部署searXNG搜索引擎
  • 利用亚马逊云科技RDS for SQL Server配置向量数据存储
  • 鸿蒙开发-自定义弹框用法
  • 【大模型系列】Windows系统上运行大语言模型方式
  • 【硬核对比】C语言 vs MATLAB:从内存管理到矩阵运算的降维打击
  • 【已解决】TypeError: AsyncConnectionPool.__init__(), new install bug, httpx==0.24.1
  • 【PYTORCH】官方的turoria实现中英文翻译
  • 电脑端调用摄像头拍照:从基础到实现
  • 力扣动态规划-32【算法学习day.126】
  • 第1章大型互联网公司的基础架构——1.1 单机房的内部架构
  • 领域驱动设计叕创新,平安保险申请DDD专利
  • 回顾Golang的Channel与Select第一篇
  • Docker-常见命令