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

高级 CEF 内核集成与 VC++——开发环境搭建与配置

开发环境的搭建是 CEF 浏览器开发中至关重要的一步。正确配置开发环境不仅能提高开发效率,也能确保开发过程中的稳定性与可靠性。本文将结合最新的资料和技术方案,深入讲解如何搭建 CEF 编译与配置环境,正确配置 Windows SDK 与依赖库,以及如何配置和调试 VC++ 项目。

1. CEF 编译与配置:如何使用 CMake 编译 CEF,配置 VC++ 项目

CEF (Chromium Embedded Framework) 是一个基于 Chromium 的开源项目,用于将 Chromium 的浏览器功能嵌入到桌面应用程序中。CEF 编译与配置的过程较为复杂,尤其是在 Windows 环境下。开发者需要准备编译工具链、相关依赖库,并通过 CMake 配置生成 VC++ 项目文件。下面将详细介绍这一过程。

1.1 下载 CEF 源代码

首先,需要从 CEF 官方网站或 GitHub 仓库下载 CEF 的源代码。下载的方式有两种:

  • 使用 Git:从 CEF 官方 GitHub 仓库中克隆源码,git clone 命令可以帮助你下载 CEF 的源代码。
  • 使用 CEF Binary:如果不需要修改 CEF 内核源码,可以直接下载预编译的二进制包。

推荐使用 CEF_binary,即已编译好的版本,避免了编译过程中繁琐的设置。对于需要修改 CEF 内核的开发者,可以通过源代码进行定制和编译。

1.2 CEF 编译准备
  1. 安装 Visual Studio 和 Windows SDK:为了编译 CEF,需要确保已安装正确版本的 Visual Studio 和 Windows SDK。推荐使用 Visual Studio 2019 或更高版本,搭配 Windows 10 SDK。

  2. 安装 CMake:CMake 是跨平台的自动化构建系统,用于生成构建文件。在 Windows 环境下使用 CMake 来配置 CEF 项目是一个标准做法。

  3. 下载依赖库:CEF 依赖于多种库,包括:

    • Google’s V8 引擎(JavaScript 引擎)
    • WebKit(布局引擎)
    • Chromium(基础浏览器框架)

    在 CEF 编译过程中,CMake 会自动下载这些依赖库,或根据配置提示下载。

1.3 配置 CEF 编译环境

通过 CMake 配置 CEF 编译环境,步骤如下:

  1. 创建构建目录: 在下载并解压 CEF 源代码之后,建议在一个新的目录中创建构建文件夹。例如,cef_build

  2. 配置 CMake: 在 CMake 配置工具中,选择 cef 源代码目录,并选择目标编译目录(即 cef_build)。根据需要设置平台和编译选项:

    cmake -G "Visual Studio 16 2019" -A x64 -D CEF_USE_GN=TRUE -D CEF_INCLUDE_GN=TRUE ..

    参数说明

    • -G:指定编译器生成器,这里我们使用 Visual Studio 2019。
    • -A x64:指定构建 64 位平台。
    • -D CEF_USE_GN=TRUE:启用 GN(Google's Ninja Build System)。
    • -D CEF_INCLUDE_GN=TRUE:包含 GN 配置文件。
  3. 生成 Visual Studio 项目文件: 在 CMake 配置完成后,生成 Visual Studio 项目文件,进入构建目录并执行:

    cmake --build . --config Release
  4. 编译 CEF: 完成 CMake 配置后,打开 Visual Studio,并通过 Release 配置编译整个 CEF 项目。这一过程可能需要较长时间,取决于你的硬件配置。

1.4 配置 VC++ 项目

在编译 CEF 成功后,你需要将 CEF 与 VC++ 主程序进行集成。VC++ 项目通常使用 Visual Studio 开发,可以通过以下步骤将 CEF 引入主程序:

  1. 设置 CEF 依赖库: 在 VC++ 项目中,需要链接到 CEF 编译后的依赖库文件。你需要将 CEF 的 libcef.lib 文件添加到 VC++ 项目中的链接器设置中。

  2. 配置头文件路径: 在 VC++ 项目中,添加 CEF 源代码的头文件路径,确保 CEF 的 API 可以被正确引用。

  3. 初始化 CEF 环境: 在主程序的入口点(mainWinMain)中,初始化 CEF 库:

    CefMainArgs main_args(hInstance);
    CefRefPtr<MyApp> app = new MyApp();
    CefSettings settings;
    CefInitialize(main_args, settings, app.get(), nullptr);

    这段代码会初始化 CEF 环境,并设置应用程序的运行参数。

  4. 编写交互代码: 在主程序中,需要编写与 CEF 内核交互的代码,例如创建浏览器窗口、加载网页内容等。

2. Windows SDK 和依赖库:确保使用正确版本的 SDK、依赖项配置与解决方案创建
2.1 选择合适的 Windows SDK

Windows SDK(Software Development Kit)是开发 Windows 应用程序所必需的工具集。CEF 对 SDK 版本有一定要求,特别是在 Windows 7 及更高版本的支持上,建议使用 Windows 10 SDK 及以上版本。

  1. Windows 10 SDK:是目前最新的 SDK,包含了对 Windows 10 系统功能的支持。它支持 UWP(通用 Windows 平台)、Win32 API、DirectX 等开发需求。

  2. Windows 8.1 SDK:在一些老旧项目中,可能需要使用 Windows 8.1 SDK,特别是为了支持 Windows 7 操作系统的兼容性。

  3. Windows 7 SDK:如果你需要支持较旧的操作系统,可以使用 Windows 7 SDK。CEF 可以支持 Windows 7 及以上版本,但需要确保编译环境正确配置。

2.2 配置依赖项

CEF 编译时需要依赖多个库,以下是一些常见的依赖库:

  • V8 引擎:JavaScript 引擎,必须在 CEF 配置中指定。
  • WebKit:布局引擎,负责处理 HTML 和 CSS 渲染。
  • Skia:图形渲染库,用于图形绘制。
  • ICU:用于国际化和字符集处理。

在 CMake 配置时,必须确保这些依赖项能正确下载和配置。一般情况下,CEF 会自动下载依赖库,但在一些特定情况下(如代理网络或定制化需求),开发者可能需要手动配置这些库。

2.3 解决方案创建

确保你的 VC++ 项目能够正确与 CEF 构建生成的库和头文件链接。通常,VC++ 项目需要设置以下内容:

  1. 设置库路径: 在 VC++ 项目中,确保 CEF 的 lib 目录被加入到库路径中。

  2. 链接 CEF 库文件: 在项目的链接设置中,添加 libcef.lib 和其他必要的 CEF 依赖库。

  3. 设置预编译头文件: 为了提高编译效率,设置 CEF 和 VC++ 项目的预编译头文件,避免重复编译同样的代码。

3. IDE 配置与调试工具:Visual Studio 配置与调试,CEF 与 VC++ 的协同调试
3.1 配置 Visual Studio

Visual Studio 是最常用的 Windows 开发 IDE,可以通过以下步骤来配置和调试 CEF 项目:

  1. 安装 Visual Studio: 确保安装了 Visual Studio 的 C++ 开发工具和调试工具。推荐使用 Visual Studio 2019 或更高版本。

  2. 安装 CMake 插件: 如果使用 CMake 构建 CEF,确保在 Visual Studio 中安装了 CMake 插件,以便通过 Visual Studio 直接管理和编译 CMake 项目。

  3. 配置调试器: 在 Visual Studio 中,可以使用 Attach to Process 功能来进行调试。CEF 采用多进程架构,因此你需要同时调试主进程和渲染进程。可以在 Visual Studio 中通过选择进程 ID 来附加到正确的进程。

3.2 CEF 与 VC++ 协同调试

在 CEF 开发中,调试主进程和渲染进程非常重要。Visual Studio 提供了强大的调试功能,可以同时调试多个进程。

  1. 主进程调试: 使用 Visual Studio 的调试工具(如断点、内存查看器等)来调试主进程中的代码。通过 Attach to Process,选择主程序进程进行调试。

  2. 渲染进程调试: CEF 在默认情况下会启动多个渲染进程来处理浏览器内容。可以在 Visual Studio 中附加到渲染进程,使用多线程调试功能来查看渲染过程中的问题。

  3. 调试 Web 内容: 使用 CEF 提供的内置 Web 调试工具,例如 DevTools(Chromium Developer Tools),可以调试嵌入在应用程序中的网页内容。


通过上述详细的开发环境搭建和配置,开发者可以顺利地在 Windows 平台上搭建并开发基于 CEF 的浏览器应用程序。这一过程涵盖了从 CEF 编译与配置到 Visual Studio 调试的各个环节,提供了一个全面的解决方案,确保开发者能够在实际开发中高效、顺利地进行工作。

关于作者:

15年物联网开发、带过10-20人的团队,多次帮助公司从0到1完成项目开发,在TX等大厂都工作过。当下为退役状态,写此篇文章属个人爱好。本人10多年开发经验期间手机了很多开发课程等资料,需要可联系我

 


http://www.mrgr.cn/news/79324.html

相关文章:

  • 解决靶场网络问题教程(详细版)
  • 微服务架构解析:跨越传统架构的技术革命
  • 关于小标join大表,操作不当会导致笛卡尔积,数据倾斜
  • go引入skywalking
  • 大语言模型(2)--GPT-1
  • 【C语言】C语言的潜规则:运行环境对C程序执行特性的影响
  • 高级 CEF 内核集成与 VC++——CEF系统架构与开发环境搭建
  • 数据结构代码归纳
  • 大数据新视界 -- 大数据大厂之 Hive 临时表与视图:灵活数据处理的技巧(上)(29 / 30)
  • [创业之路-169]:《BLM战略规划》- 战略洞察 (战略能力中最最核心的能力) - 市场洞察 -1- 看宏观/行业 - 行业:激光器行业的详细分析
  • 【STM32 Modbus编程】-作为主设备读取保持/输入寄存器
  • 如何在鸿蒙API9和x86模拟器中使用MQTT
  • ️️耗时一周,肝了一个超丝滑的卡盒小程序
  • 图生3d 图生全景 学习笔记
  • 开发基础(3):开发应用沉浸式效果 组件安全区方案
  • Android学习14--charger
  • react hooks的理解
  • 点云标注软件SUSTechPOINTS的安装和使用,自测win10和ubuntu20.04下都可以用
  • 小白爬虫——selenium入门超详细教程
  • 人大金仓(KingBaseEs)数据库操作手册