libcef(一)编译CEF

下载二进制原码

链接地址
在这里插入图片描述

  • 不同系统可选择不同版本(Linux,MacOS,Windows等),因有需求故我选的是Win32版本(我的系统是Win10,64位)。
  • 想要选择CEF其他版本可点击上图中的Show All Builds字样之后再点击Show More Builds字样可出现更多版本。
  • 我选择的是下图所示版本(当时下载的时候还是最新版本,等想起来截图做笔记已经更新了其他版本)。
    在这里插入图片描述

关于CEF的版本

  1. Standard Distribution:标准二进制分布。包括头文件,libcef_dll_wrapper源代码,二进制文件,CMake配置文件以及cefclient和cefsimple示例应用程序的源代码。
  2. Minimal Distribution: 最小二进制分布。包括头文件,libcef_dll_wrapper源代码,发布构建二进制文件和CMake配置文件。不包括调试构建二进制文件或示例应用程序源代码。
  3. Sample Application:发布版本的cefclient示例应用程序。有关使用要求,请参阅随附的README.txt文件。
  4. Debug Symbols:Debug符号文件,必须提取并放置在具有相同名称和版本的CEF Debug二进制文件旁。(官方用词是next to,不知道具体是放在同一个文件夹下还是怎样。没试过)

Debug build symbols. Must be extracted and placed next to the CEF Debug binary file with the same name and version.

  1. Release Symbols:Release符号文件,必须提取并放置在具有相同名称和版本的CEF Release二进制文件旁。

Release build symbols. Must be extracted and placed next to the CEF Release binary file with the same name and version.

我选择的是Standard Distribution版本

解压后有如下文件:(可解压到自己想要的文件夹下,我的地址为D:\Compilers\CEF\cef_binary_99.2.10+gfecf7ca+chromium-99.0.4844.51_windows32,以下简称为目标地址
在这里插入图片描述

  • cmake: 该目录下存放了配置和构建以Windows作为编译环境的cmake配置文件,具体内容可以自行查看。

  • Debug和Release: 这两个文件夹中,打开会看到已经编译好的CEF核心库文件
    在这里插入图片描述

  • include: libcef本身提供的头文件以及wrapper会使用到的头文件

  • libcef_dll: 存放了libcef_dll_wrapper源码。

  • Resources: CEF作为内核的浏览器运行时需要用到的资源文件。

  • tests: 存放了利用libcef、以及wrapper作为库来编写的浏览器Demo。其中,cefsimple编译出来的是一个简单的浏览器,而cefclient编译出来的是一个展示了cef许多API功能的exe。

下载CMake

下载

官网下载
在这里插入图片描述
点击红色圈住的地方下载。(我当时下的是3.22.1版本)
历史版本(点击进去后可自行下载想要的历史版本)

安装

双击下载的msi文件,一直点击NextInstall即可。
因已安装过,没有截图,不好展示。CSDN或者其他软件都能搜到具体安装方式,可自行查找。在此附一个别人的完整安装教程完整安装教程

编译CEF

使用cmake进行编译配置

  1. 目标地址下新建一个build文件夹
  2. 打开cmake-gui.exe程序,在Where is the source code栏中选择源码所在目录(即目标地址),在下方的Where to build the binaries栏目中我们可以自定义任意位置,但是为了方便管理,我们选择刚建的build文件夹
    在这里插入图片描述
  3. 点击下图箭头所指的Configure
    在这里插入图片描述
  4. 按下图所示步骤选择。VS版本可自行选择,不必须跟我选的一模一样。但是由于我的电脑是64位的,下载的CEF是32位的,所以下图中箭头1所指的地方必须选Win32。否则后续在VS中编译CEF项目时会出现fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突error LNK2019: 无法解析的外部符号等问题
    在这里插入图片描述
  5. 出现Configuring done字样后点击下图中箭头所指的Generate
    在这里插入图片描述
    6.出现 Generating done字样后点击箭头所指的Open Project打开项目。或者在build文件夹下双击.sln文件打开该项目
    在这里插入图片描述
    在这里插入图片描述

使用VS编译CEF项目

项目结构

在这里插入图片描述

  • ALL_BUILD与ZERO_CHECK: 是cmake自动生成的辅助工程。
  • cef_gtest与ceftests: 都是测试模块,这里不关心。
  • cefclient: 一个包含CEF各种API演示的浏览器程序Demo。
  • cefsimple: 一个简单的CEF浏览器程序Demo。
  • libcef_dll_wrapper: 对libcef库的C++代码封装。上述cefclient与cefsimple都会用它。

我们首先完成libcef_dll_wrapper的编译,然后对cefclient以及cefsimple完成编译。

编译libcef_dll_wrapper

  1. 右击libcef_dll_wrapper,选择设为启动项目。会发现libcef_dll_wrapper字体加粗。
  2. 右击libcef_dll_wrapper,选择生成。结果如下
    在这里插入图片描述
    cefclient与cefsimple的编译步骤与libcef_dll_wrapper的一模一样,只要将操作对象换为cefclient或cefsimple即可。故此处不在赘述。且两者编译顺序不分先后。编译结果如下所示
    在这里插入图片描述
    在这里插入图片描述

样例展示

cefsimple

  1. 运行方法一
    将cefsimple设为启动项(上面有步骤)点击上图红色方框。
    在这里插入图片描述
  2. 运行方法二
    进入之前创建的build目录,后续路径为\tests\cefsimple\Debug\tests\cefsimple\Release,双击该文件夹下的.exe文件如下图所示
    在这里插入图片描述

会发现运行结果是空白界面如下图所示
在这里插入图片描述
原因如下:
打开cefsimple项目下的cefsimple文件夹里的simple_app.cc文件,第105行可以看到默认访问http://www.google.com
在这里插入图片描述
将其修改为国内任意网站即可,此处改为https://www.csdn.net/做示例。重新编译过后再按照上述方法运行,结果如下图所示
在这里插入图片描述

cefclient

cefclient项目运行方法同cefsimple项目运行方法一致,只需将对象改为cefclient即可(若是使用方法一则将cefclient设为启动项,若是使用方法二则build文件夹后续路径为\tests\cefclient\Debug\tests\cefclient\Release),且不需要修改代码。故此处不再赘述,运行结果如下图所示
在这里插入图片描述
在输入框里输入地址后敲击回车键,结果如下图所示
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值