CEF127 编译指南 Linux篇 - 构建CEF Client(七)

1. 引言

在完成 CEF127 的编译工作后,我们需要了解如何正确运行编译后的程序。本文将详细介绍如何使用 CMake 构建示例程序,并成功运行 CEF 客户端。通过本文的指导,您将能够在 Linux 环境下顺利运行 CEF 应用程序。

2. 准备工作

2.1 确认二进制文件位置

首先,进入 CEF 二进制发布目录:

复制代码
cd ~/cef127/chromium_git/chromium/src/cef/binary_distrib/cef_binary_127.3.6+gc1e5ae6+chromium-127.0.6533.120_linux64

2.2 检查文件结构

验证目录内容:

复制代码
ls -la

确保存在 CMakeLists.txt 文件和必要的示例代码。

3. 创建构建目录

3.1 创建并进入构建目录

复制代码
mkdir build
cd build

📢 注意:保持构建目录清晰独立,便于管理和清理。

4. 配置 CMake 项目

4.1 使用 Unix Makefiles 生成器

复制代码
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..

4.2 使用 Ninja 生成器(推荐)

复制代码
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ..

参数说明:

  • -G: 指定生成器类型
  • -DCMAKE_BUILD_TYPE=Release: 设置构建类型为发布版本
  • ..: 指定 CMakeLists.txt 所在的上级目录

5. 执行构建

5.1 使用 Unix Makefiles 构建

复制代码
make -j4 cefclient cefsimple

5.2 使用 Ninja 构建

复制代码
ninja cefclient cefsimple

📢 注意:-j4 参数表示使用 4 个并行任务,可以根据系统配置调整。

6. 运行 CEF 客户端

6.1 更改应用权限

根据输出的提示输入命令来更改应用权限

复制代码
EXE="/home/ym/cef127/chromium_git/chromium/src/cef/binary_distrib/cef_binary_127.3.6+gc1e5ae6+chromium-127.0.6533.120_linux64/build/tests/cefsimple/Release/chrome-sandbox" && sudo -- chown root:root $EXE && sudo -- chmod 4755 $EXE
EXE="/home/ym/cef127/chromium_git/chromium/src/cef/binary_distrib/cef_binary_127.3.6+gc1e5ae6+chromium-127.0.6533.120_linux64/build/tests/cefclient/Release/chrome-sandbox" && sudo -- chown root:root $EXE && sudo -- chmod 4755 $EXE

6.1 启动客户端程序

复制代码
sudo ./tests/cefclient/Release/cefclient --no-sandbox

参数说明:

  • --no-sandbox: 禁用沙箱模式运行
  • 使用 sudo 确保有足够权限

6.2 常见启动参数

复制代码
# 指定日志级别
./cefclient --log-severity=verbose

# 指定初始 URL
./cefclient --url=https://www.google.com

# 禁用 GPU 加速
./cefclient --disable-gpu

7. 结语

通过本文的指导,我们完成了 CEF 示例程序的构建和运行。从配置 CMake 项目到成功启动客户端,这个过程虽然看似简单,但需要注意很多细节。正确理解和使用各种构建选项和运行参数,对于开发基于 CEF 的应用程序至关重要。

本系列文章至此已经完整覆盖了从编译到运行的整个过程。如果您在实践中遇到问题,请参考故障排除部分,或查阅 CEF 官方文档获取更多详细信息。

相关推荐
goxingman1 天前
在 Linux 中查看磁盘运行占用(I/O 使用率)
linux·运维·chrome
铁蛋AI编程实战1 天前
Gemini in Chrome 全实战:解锁+API调用+自定义扩展+本地推理
前端·人工智能·chrome
hbstream海之滨视频网络技术1 天前
Google正式上线Gemini In Chrome,国内环境怎样开启。
前端·chrome
铁蛋AI编程实战1 天前
谷歌MedGemma 1.5医疗大模型开源部署教程:普通显卡可运行,医学影像分析零代码实现
人工智能·chrome·开源
vortex52 天前
深度字典攻击(实操笔记·红笔思考)
前端·chrome·笔记
life码农2 天前
Linux系统清空文件内容的几种方法
linux·运维·chrome
陈希瑞2 天前
OpenClaw Chrome扩展使用教程 - 浏览器中继控制
前端·chrome
2401_859049083 天前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
Tom·Ge3 天前
在macOS上安装OpenClaw并实现Chrome网站自动化测试
chrome·macos·策略模式
ziqi5224 天前
第二十五天笔记
前端·chrome·笔记