Skip to content

如何升级 CEF 版本?

Dylan Deng edited this page Apr 6, 2022 · 2 revisions

NIM PC Demo(以下简称 Demo) 为了展示内嵌网页能力,使用了 CEF(Chromium Embedded Framework)作为内核显示网页。但由于内核版本较低(目前使用 49 版本支持 XP)一些新的网站已经无法正常打开或者无法适配一些硬件设备。所以我们推荐使用者可根据自己情况升级 CEF 版本来适配新的硬件或者系统环境。

CEF 预编译包下载

https://cef-builds.spotifycdn.com/index.html 提供了官方 CI 出包,可下载历史版本 CEF 包并包含调试符号文件。

CEF 升级代码适配

我们专门开通了 feature/cef-76 分支来演示升级过程中的代码适配过程,您可以参考该提交来根据自己所需的版本进行升级适配:

https://github.com/netease-kit/NIM_PC_Demo/commit/4ac877901e58e8cf632ed920b214714ce72a37af

该提交都做了哪些工作?您还需要做哪些工作?

该提交仅仅升级了 libcef_dll_wrapper 工程到 76 版本的封装,并且重新适配了所有新版本中已经不存在或者变更的虚函数,您还需要自己下载 76 版本的二进制文件并复制到 bin 目录。

升级其他版本

如果您想自己升级指定版本,您需要做的有:

1、升级 libcef_dll_wrapper 工程

您仍需要删除 libcef_dll_wrapper 工程下所有 .h .cc 文件,并从下载好的 CEF 预编译包中,将 include 目录和 libcef_dll 目录复制到工程下并将所有文件添加到工程中重新编译 libcef_dll_wrapper。请务必确保删除了所有旧文件并且将所有新文件添加到工程中,否则可能会出现无法链接到指定函数问题。

2、适配新的 CEF 接口

像 feature/cef-76 分支一样,适配新的 CEF 接口,删除已经不存在的虚函数。将 CefControl 替换为 CefNativeControl 等(更多请查看提交所有修改)

3、替换 CEF 二进制文件