基于cef_binary_111.2.7+gebf5d6a+chromium-111.0.5563.148_windows64此版本进行分析,版本差异太大会有所差异。
基本文件结构
├─cmake
├─Debug
├─include
│ ├─base
│ │ └─internal
│ ├─capi
│ │ ├─test
│ │ └─views
│ ├─internal
│ ├─test
│ ├─views
│ └─wrapper
├─libcef_dll
│ ├─base
│ ├─cpptoc
│ │ ├─test
│ │ └─views
│ ├─ctocpp
│ │ ├─test
│ │ └─views
│ └─wrapper
├─Release
├─Resources
│ └─locales
└─tests
├─cefclient
│ ├─browser
│ ├─common
│ ├─renderer
│ └─resources
│ ├─extensions
│ │ └─set_page_color
│ └─win
├─cefsimple
│ └─res
├─ceftests
│ ├─extensions
│ ├─resources
│ │ ├─net
│ │ │ └─data
│ │ │ └─ssl
│ │ │ └─certificates
│ │ └─win
│ └─views
├─gtest
│ ├─include
│ │ └─gtest
│ ├─src
│ └─teamcity
│ ├─include
│ └─src
└─shared
├─browser
├─common
├─renderer
└─resources
-
cmake:包含所有目标共享的CMake配置文件
-
Debug:包含构建和运行基于CEF的应用程序的调试版本所需的libcef.dll、libcef.lib和其他组件。默认情况下,这些文件应该与可执行文件放在同一目录中,并将作为构建过程的一部分复制到那里。
-
include:包含所有必需的CEF头文件
-
libcef_dll:包含libcef_dll_wrapper静态库的源代码,所有使用CEF C++API的应用程序都必须链接该库。
-
Release:包含libcef.dll、libcef.lib和其他必需的组件构建并运行基于CEF的应用程序的发布版本。通过默认情况下,这些文件应与可执行文件,并将作为构建过程的一部分复制到那里。
Resources:包含libcef.dll所需的资源。默认情况下,这些文件应与libcef…dll放在同一目录中,并将作为构建过程的一部分复制到那里。
-
tests/ 演示 CEF 用法的测试目录。
-
cefclient:包含配置为使用此发行版中的文件生成的 cefclient 示例应用程序。此应用程序演示了各种 CEF 功能。
-
cefsimple:包含配置为使用此发行版中的文件生成的 cefsimple 示例应用程序。此应用程序演示了创建浏览器窗口所需的最少功能。
-
ceftests:包含执行CEF API的单元测试。
-
gtest:包含ceftests目标使用的Google C++测试框架。
-
shared:包含由cefclient和ceftests目标共享的源代码。
-
发布文件目录结构
即发布之后的可执行文件所在目录含有的文件
│ chrome_100_percent.pak
│ chrome_200_percent.pak
│ chrome_elf.dll
│ d3dcompiler_47.dll
│ debug.log
│ icudtl.dat
│ libcef.dll
│ libEGL.dll
│ libGLESv2.dll
│ resources.pak
│ snapshot_blob.bin
│ tree.txt
│ v8_context_snapshot.bin
│ vk_swiftshader.dll
│ vk_swiftshader_icd.json
│ vulkan-1.dll
│
└─locales
af.pak
...
zh-CN.pak
必需组件
没有它们,CEF将无法运作。
- libcef.dll:CEF核心库
- chrome_elf.dll:崩溃报告库
- icudtl.dat:Unicode支持数据
- snapshot_blob.bin:V8快照数据
- v8_context_snapshot.bin:V8快照数据
可选组件
以下组件是可选的。如果它们丢失,CEF将继续运行,但任何相关功能都可能损坏或禁用。
本地化资源
使用CefSettings.pack_loading_disabled可以完全禁用区域设置文件加载。可以使用CefSettings.locales_dir_path自定义区域设置目录路径。
- locales/:包含CEF、Chromium和Blink使用的本地化资源的目录。根据CefSettings.locae值从该目录加载一个.pak文件。只需要分发已配置的区域设置。如果未配置区域设置,则将使用默认的区域设置“en-US”。如果没有这些文件,任意Web组件可能会显示错误。
其他资源
使用CefSettings.Pack_loading_disabled可以完全禁用包文件加载。可以使用CefSettings.resources_dir_path自定义资源目录路径。
- chrome_100_percent.pak
- chrome_200_percent.pak
- resources.pak
这些文件包含CEF、Chromium和Blink使用的非本地化资源。如果没有这些文件,任意Web组件可能会显示错误。
Direct3D 支持
- d3dcompiler_47.dll
支持GPU加速渲染HTML5内容,如2D画布、3D CSS和WebGL。如果没有此文件,当启用GPU加速时(大多数情况下为默认设置),上述功能可能会失败。建议使用此捆绑版本,而不是依赖可能旧的、未经测试的系统安装版本。
ANGLE支持
- libEGL.dll
- libGLESv2.dll
支持渲染HTML5内容,如2D画布、3D CSS和WebGL。如果没有这些文件,上述功能可能会失败。
SwANGLE 支持
- vk_swiftshader.dll
- vk_swiftshader_icd.json
- vulkan-1.dll
支持使用SwiftShader的Vulkan库作为ANGLE的Vulken后端对HTML5内容(如2D画布、3D CSS和WebGL)进行软件渲染。如果没有这些文件,当GPU加速被禁用或不可用时,上述功能可能会失败。
来源于分发包内README.txt