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

CEF132编译指南 MacOS 篇 - 获取 CEF 源码 (五)

1. 引言

在完成了所有必要工具的安装和配置之后,我们正式进入获取 CEF132 源码的阶段。对于 macOS 平台,CEF 的源码获取过程需要特别注意不同芯片架构(Intel 和 Apple Silicon)的区别以及版本管理。本篇将作为 CEF132 编译指南系列的第五篇,详细介绍如何在 macOS 系统上获取并准备 CEF 源码,包括创建工作目录、下载自动化脚本以及同步依赖项等步骤。

2. 工作目录准备

2.1 创建目录结构

首先,我们需要创建存放代码和工具的目录结构:

# 创建用于存放 Chromium 和 CEF 源码的目录
mkdir -p ~/code/chromium_git
# 创建用于存放自动化脚本的目录
mkdir -p ~/code/automate
# 进入工作目录
cd ~/code
2.2 目录结构说明
  • ~/code/chromium_git:用于存放 Chromium 和 CEF 的源代码。
  • ~/code/automate:用于存放自动化构建和更新脚本。
  • ~/code/depot_tools:用于存放 depot_tools 工具集(在之前的步骤中已经创建)。

3. 下载自动化脚本

3.1 获取自动化脚本
cd ~/code/automate
curl -o automate-git.py https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py

3.2 创建更新脚本

~/code/chromium_git 目录中创建 update.sh 脚本:

cd ~/code/chromium_gitcat <<EOL > update.sh
#!/bin/bash
# 为 Intel Mac
python3 ../automate/automate-git.py \\--download-dir=/Users/\$USER/code/chromium_git \\--depot-tools-dir=/Users/\$USER/code/depot_tools \\--no-distrib \\--no-build \\--branch=6834 \\--x64-build
# 为 Apple Silicon Mac,替换最后一行为:
# --arm64-build
EOLchmod 755 update.sh

注意:这里我们指定了--branch=6834,对应CEF 132版本

3.3 设置脚本权限

update.sh 脚本添加执行权限:

chmod 755 update.sh

4. 拉取源码

4.1 配置环境变量

在拉取源码之前,我们需要配置一些环境变量:

# 设置 CEF 使用 GN 构建系统
export CEF_USE_GN=1# 设置 GN 构建参数
export GN_DEFINES="is_official_build=true use_sysroot=true symbol_level=1"# 设置 CEF 压缩包格式
export CEF_ARCHIVE_FORMAT=tar.bz2# 对于 Apple Silicon Mac,额外添加以下配置
# export GN_DEFINES="is_component_build=true"

4.2 执行更新脚本

现在,我们可以执行 update.sh 脚本来拉取 CEF 源码:

cd ~/code/chromium_git
./update.sh

重要提示

  • 源码下载过程可能需要数小时,具体时间取决于您的网络速度。
  • 请确保您的网络连接稳定。
  • 下载过程需要大约 150GB 的磁盘空间,请确保您的磁盘有足够的可用空间。
  • 下载过程中可能会出现中断,update.sh 脚本支持断点续传,重新运行脚本即可从上次中断的地方继续下载。

5. 源码管理

5.1 验证源码结构

下载完成后,检查目录结构是否正确:

ls -la ~/code/chromium_git/chromium/src
ls -la ~/code/chromium_git/cef
5.2 目录说明
  • chromium/src:存放 Chromium 的源代码。
  • cef:存放 CEF 的源代码。
  • chromium/src/cef:CEF 的构建目录。

6. 常见问题处理

6.1 网络问题

如果您在中国大陆地区遇到网络连接问题,可能需要配置 Git 代理:

# 设置 HTTP 代理(根据您的实际代理地址修改)
git config --global http.proxy http://your_proxy_address:your_proxy_port
git config --global https.proxy https://your_proxy_address:your_proxy_port# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

your_proxy_addressyour_proxy_port 替换为您实际的代理地址和端口。

如果下载过程中断,可以重新运行 update.sh 脚本,它会自动从断点处继续下载。

6.2 空间问题

如果磁盘空间不足:

  1. 清理其他不必要的文件,释放磁盘空间。
  2. 考虑使用外部存储设备。
  3. 确保至少有 150GB 的可用磁盘空间。
6.3 权限问题

如果遇到权限问题,可以尝试修复文件权限:

sudo chown -R $(whoami) ~/code/chromium_git
chmod -R u+w ~/code/chromium_git

7. 结语

通过本篇的详细步骤,您已经成功获取并准备好了 CEF132 的源码。这个过程虽然看似简单,但正确的配置和足够的耐心是成功的关键。确保所有步骤都准确执行,这将为后续的编译工作奠定坚实的基础。

在下一篇《CEF132 编译指南 MacOS 篇 - 构建 CEF (六)》中,我们将详细介绍如何在 macOS 环境下配置和执行 CEF132 的编译过程,包括设置特定的 SDK 版本和编译参数等内容。让我们继续这段激动人心的 CEF 编译之旅,为构建功能强大的桌面应用打下坚实的基础!

http://www.lryc.cn/news/536894.html

相关文章:

  • TypeScript装饰器 ------- 学习笔记分享
  • FPGA实现UltraScale GTH光口视频转USB3.0传输,基于FT601+Aurora 8b/10b编解码架构,提供2套工程源码和技术支持
  • 蓝桥杯篇---实时时钟 DS1302
  • C语言蓝桥杯1003: [编程入门]密码破译
  • 【MySQL在Centos 7环境安装】
  • 科技引领未来,中建海龙C-MiC 2.0技术树立模块化建筑新标杆
  • 玩转观察者模式
  • Baklib知识中台构建企业智能运营核心架构
  • Anaconda +Jupyter Notebook安装(2025最新版)
  • 正成为现代城市发展的必然趋势的智慧交通开源了
  • 手撕Transformer编码器:从Self-Attention到Positional Encoding的PyTorch逐行实现
  • Webpack和Vite插件的开发与使用
  • HTTP的状态码
  • Python函数-装饰器
  • 【数据可视化-17】基于pyecharts的印度犯罪数据可视化分析
  • HTTP请求报文头和相应报文头
  • 19.4.9 数据库方式操作Excel
  • BFS 走迷宫
  • 【Linux系统】—— 简易进度条的实现
  • Qt 中使用 SQLite 数据库的完整指南
  • 数智化时代的工单管理:从流程驱动到数据驱动-亿发
  • Large Language Model Distilling Medication Recommendation Model
  • floodfill算法系列一>被围绕的区域
  • Redis 01 02章——入门概述与安装配置
  • windows基于cpu安装pytorch运行faster-whisper-large-v3实现语音转文字
  • AI大模型(如GPT、BERT等)可以通过自然语言处理(NLP)和机器学习技术,显著提升测试效率
  • 【Prometheus】prometheus黑盒监控balckbox全面解析与应用实战
  • CSS实现单行、多行文本溢出显示省略号(…)
  • 服务器中部署大模型DeepSeek-R1 | 本地部署DeepSeek-R1大模型 | deepseek-r1部署详细教程
  • 元学习之孪生网络Siamese Network