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 官方文档获取更多详细信息。

相关推荐
典学长编程13 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
百锦再19 小时前
.Net配置文件appsetting.json的几种读取方法
chrome·json·.net·依赖注入·appsetting·web.config
大猫会长1 天前
mac中创建 .command 文件,执行node服务
前端·chrome
未来之窗软件服务1 天前
chrome webdrive异常处理-session not created falled opening key——仙盟创梦IDE
前端·人工智能·chrome·仙盟创梦ide·东方仙盟·数据调式
涛哥码咖2 天前
chrome安装AXURE插件后无效
前端·chrome·axure
Joker`s smile2 天前
Chrome安装老版本、不同版本,自制便携版本用于前端调试
前端·chrome
weixin_416639972 天前
爬虫工程师Chrome开发者工具简单介绍
前端·chrome·爬虫
我是如子啊2 天前
【解决“此扩展可能损坏”】Edge浏览器(chrome系列通杀))扩展损坏?一招保留数据快速修复
前端·chrome·edge
shimly1234563 天前
bash 脚本比较 100 个程序运行时间,精确到毫秒,脚本
开发语言·chrome·bash
秃了也弱了。3 天前
Chrome谷歌浏览器插件ModHeader,修改请求头,开发神器
前端·chrome