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

CEF127 编译指南 Linux篇 - 拉取CEF源码(五)

1. 引言

在完成了所有必要工具的安装和配置后,我们进入到获取 CEF 源码的阶段。CEF 的源码获取过程需要特别注意同步策略和版本管理。本文将详细介绍如何在 Linux 系统上获取并准备 CEF 源码,包括创建工作目录、下载初始代码以及同步依赖项等步骤。

2. 工作目录准备

2.1 创建必要目录

首先需要创建用于存放源码和构建文件的目录结构:

mkdir ~/cef127
mkdir ~/cef127/automate
mkdir ~/cef127/chromium_git

2.2 安装基础依赖

安装必要的系统包:

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

3. 配置构建环境

3.1 安装构建依赖

下载并运行 Chromium 的构建依赖安装脚本:

cd ~/cef127
curl 'https://chromium.googlesource.com/chromium/src/+/main/build/install-build-deps.py?format=TEXT' | base64 -d > install-build-deps.py
sudo python3 ./install-build-deps.py --no-arm --no-chromeos-fonts --no-nacl

3.2 设置环境变量

为了构建 CEF127 版本,需要设置以下环境变量:

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

4. 获取 CEF 源码

4.1 下载自动化脚本

获取 CEF 的自动化构建脚本:

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

4.2 创建更新脚本

创建 update.sh 脚本用于获取源码:

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

chmod 755 update.sh

📢

注意:这里的 branch=6533 对应 CEF127 版本,这是一个重要的版本对应关系。

4.3 执行源码同步

运行更新脚本开始下载源码:

cd ~/cef127/chromium_git
./update.sh

📢

重要提示:

  • 源码下载过程可能需要几个小时,取决于网络状况
  • 确保有足够的磁盘空间(至少 200GB)
  • 保持网络连接稳定
  • CEF 源码将被下载到 ~/cef127/chromium_git/cef
  • Chromium 源码将被下载到 ~/cef127/chromium_git/chromium/src

5. 结语

通过本文的操作,我们已经完成了 CEF 源码的获取和准备工作。这个过程虽然看起来简单,但是正确的配置和足够的耐心是成功的关键。确保所有步骤都准确执行,这将为后续的编译工作打下坚实的基础。

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


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

相关文章:

  • Oracle(windows安装遇到的ORA-12545、ORA-12154、ORA-12541、ORA-12514等问题)
  • sentinel的限流原理
  • 数据分析系列--[11] RapidMiner,K-Means聚类分析(含数据集)
  • PostgreSQL证书什么样子的?
  • k8s集群
  • React开发中箭头函数返回值陷阱的深度解析
  • python实现自动计算排工期
  • 如何通过 ADB 安装 xapk
  • 【前端】Vue3+Vite如何进行多环境配置呢
  • Cobalt Strike 4.8 用户指南-第十一节 C2扩展
  • OpenAI Whisper 语音识别 模型部署及接口封装
  • AOSP的同步问题
  • gitee:创建仓库,存入本地文件至仓库
  • k8s Init:ImagePullBackOff 的解决方法
  • go-zero使用自定义模板实现统一格式的 body 响应
  • 如何利用Java爬虫获取1688关键词接口数据
  • Linux常用操作之vim快捷操作
  • 【QNX+Android虚拟化方案】129 - USB眼图参数配置
  • Unity ShaderLab 实现3D物体描边
  • Mybatis:CRUD数据操作之单条件查询
  • YOLO模型训练后的best.pt和last.pt区别
  • HTML技术深度解析:构建现代网页的基石
  • redis-bitmap使用详解
  • kubernetes——part3-2 集群声明式文件YAML
  • STL简介
  • 短视频账号矩阵系统源码--独立saas技术部署