学习之路_CEF环境搭建及简单定制(一)

本文介绍了如何从CEF官网下载源码,配置CMake并生成VS项目,重点讲解了必要的库文件、编译流程,以及资源文件的重要性。适合想在项目中使用CEF的开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考学习链接:https://blog.youkuaiyun.com/fuhanghang/article/details/112505473

Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件(所以cef的纯源码编译需要chromium源码),支持Windows, Linux, Mac平台。

.以下以x86编译为例

cef下载:https://bitbucket.org/chromiumembedded/cef(含cef源码)

二进制成品下载:CEF Automated Builds  

11/10/2022最新版 - 107.1.9+g1f0a21a+chromium-107.0.5304.110 / Chromium 107.0.5304.110

Minimal Distribution是精简版
Sample Application是cefclient编译后的包
Debug Symbols是Debug符号文件
Release Symbols是Release符号文件

各函数参数说明文档

https://magpcss.org/ceforum/apidocs/projects/(default)/CefRequestHandler.html

编译前需要下载cmake转换为vs项目

下载cmake:Download | CMake

下载安装后打开软件

在Where is the source code编辑框中填入 cef解压包目录
在Where to build the binaries编辑框中填入 cef解压包目录\build

点击Configure会提示选择生成的vs项目版本,
确定后会在列表框中罗列项目的一些可配置的宏及其它信息,
如果不需要修改就直接点击Generate生成,
完成后,就会在cef解压包目录\build中看到cef.sln了,打开解决方案就可以编译了

为cefclient和cefsimple项目是依赖libcef_dll_wrapper项目,
所以需要先编译libcef_dll_wrapper生成libcef_dll_wrapper.lib
然后再编译其它两个。

文件夹介绍

  1. (1)cmake,该文件夹包含Cmake的一些宏定义,配置信息。
  2. (2)include,使用该库的所有头文件
  3. (3)libcef_dll,库的源代码
  4. (4)tests,测试程序demo源代码
  5. (5)Resource,资源文件,该资源文件是程序运行需要依赖的资源文件,含语言包,unicode支持等
  6. (6)Debug/Release程序依赖的动态库/静态库。但不包括C++库:libcef_dll_wrapper.lib。

1、必须文件,缺少任意一个CEF将无法运行:
libcef.dll

这个不用多说,CEF的核心库文件,js引擎、网页加载渲染逻辑等都在其中,也是size最大的一个文件(Release版将近50M,Debug版超过500M)。
icudtl.dat 
用来支持unicode,缺少这些文件虽然编译能通过,但是执行CefInitialize();的时候就会崩溃
natives_blob.bin
snapshot_blob.bin

V8引擎快照数据。
2、可选文件:
locales/
该目录包含CEF,Chromium和Blink使用的本地化资源。 CefSettings.locale指定需要加载的.pak文件。 只需要发布配置的区域对应的.pak文件。

如果没有区域设置将配置默认语言环境“en-US”。如果没有这些文件任意Web组件可能显示不正确。
cef.pak
cef_100_percent.pak
cef_200_percent.pak

这些文件包含了供CEF使用的区域无关资源,缺少这些文件任意Web组件可能显示不正确。(笔者当时缺少cef_100_percent.pak,cef_200_percent.pak两文件,导致视频控件不显示音量和最大化按钮)。
cef_extensions.pak
此文件包含扩展加载所需的非本地化资源传递`--disable-extensions`命令行标志来禁止使用文件。没有这个文件,依赖于扩展系统的组件将不起作用,如PDF查看器。
devtools_resources.pak
此文件包含Chrome开发者工具所需的非本地化资源,缺少这个文件,Chrome开发者工具将无法运行。
d3dcompiler_43.dll (Windows XP需要该文件)
d3dcompiler_47.dll (Windows Vista和更高版本的系统需要该文件)
libEGL.dll
libGLESv2.dll

Direct3D支持文件,如果缺少这些文件,HTML5在渲染2D画布,3D CSS,WebGL时将不起作用。
wow_helper.exe
用来支持Windows Vista 64位沙箱。如果没有这个文件,32位的CEF将无法在开启了沙箱的64位的Vista机器上运行。
最后上张图

 下一节新建项目

https://blog.youkuaiyun.com/xuankuwa/article/details/127813645?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127813645%22%2C%22source%22%3A%22xuankuwa%22%7Dicon-default.png?t=M85Bhttps://blog.youkuaiyun.com/xuankuwa/article/details/127813645?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127813645%22%2C%22source%22%3A%22xuankuwa%22%7D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值