下载二进制原码

链接地址

  • 不同系统可选择不同版本(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),且不需要修改代码。故此处不再赘述,运行结果如下图所示

在输入框里输入地址后敲击回车键,结果如下图所示

libcef(一)编译CEF相关推荐

  1. 【问题】VS2019在windows10下编译cef报错,导致系统;疑是AMD CPU 超频设置导致

    [问题]VS2019在windows10下编译cef报错,导致系统崩溃:疑是AMD CPU 超频设置导致 编译环境 问题描述 解决? 编译环境 CPU:AMD R5 3600 主板:微星B450 操作 ...

  2. libcef arm 编译

    需要在debian arm 下编译libcef 让qt4 使用,制作一个cef浏览器,qt5有自带的就方便了,由于各种原因必须qt4 首先进行的使用免费翻墙 那速度200kb 要下载谷歌源码 12G ...

  3. Cygwin编译cef

    1.下载cygwin,并安装如下项: autobuild autoconf autogen automake ccrypt cmakegcc-g++gdb httpd libGLw-devel lib ...

  4. windows下编译cef最新版本并支持mp3/mp4

    预读 不懂就请参考官方地址 一般要2步,下载 和 编译 创建文件结构 ~/code/automate/ <-- 全部脚本放到这里automate-git.py <-- CEF build ...

  5. windows平台编译CEF支持H264(MP3、MP4)超详细

  6. CEF避坑指南(一)——编译并自制浏览器

    CEF即Chromium Embedded Framework,Chrome浏览器嵌入式框架.我们可以从自制浏览器入手,深入学习它.它提供了接口供程序员们把Chrome放到自己的程序中.许多大型公司, ...

  7. CEF编译遇到的问题记录

    在使用vs2015编译cef官方代码的时候遇到很奇怪的问题, 我用官方的demo cefsimple例子程序编译debug版本 可以正常编译打开网页 正常的打开 我把官方的例子单独创建一个新的项目编译 ...

  8. arm cef3 linux 编译_【学习笔记】CEF Linux编译

    源码编译部分转载:https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart#markdown-header-linux ...

  9. cef在android中使用_嵌入Chrome cef之完整版(本教程基于cef1)

    本教程基于cef1 至于cef1与cef3的区别请参考 http://blog.csdn.NET/tts2game/article/details/17260865 总结之前先将我的参考资料整理如下 ...

  10. CEF:MFC 对话框 Demo(VS2013)

    原文链接:https://blog.csdn.net/blackwoodcliff/article/details/74276848 随着 HTML5 的崛起和 IE 的淘汰,微软 Web Brows ...

最新文章

  1. 为什么这门技术如此重要?错过这次黄金期,就晚了!
  2. 建立单链表(头插法)
  3. DBgrid 第一列加入CheckBox,点击列头 全选/全消
  4. 计算机模拟多孔碳,多孔碳材料分子设计的三种方法
  5. MySQL中的执行计划
  6. C++虚函数与虚函数表
  7. facebook.com_如何降低电子商务的Facebook CPM
  8. 比较两个表格的不同_两表数据的核对,WPS表格似乎更加方便容易
  9. PHP iconv 解决utf-8和gb2312编码转换问题
  10. 一文读懂VictoriaMetrics集群方案
  11. 【Linux】网络篇三--UDP编程
  12. 第四章:前缀和、差分(数列)
  13. 数学建模之对策论/竞赛论/博弈论(Python)
  14. 主数据管理平台功能模型介绍
  15. linux 安装mmdetection 踩坑笔记
  16. 美国大学英语写作第9版_笔记1_概况
  17. android关闭背光
  18. 【电子学会】2019年12月图形化三级 -- 合作画画
  19. 什么是 HTTP 协议
  20. 【论文详解】—AlphaGo中用到的3个关键技术

热门文章

  1. 初识powerpoint的计算机教案,初识ppt教案.doc
  2. Android识别图片中的WIFI二维码,并自动连接
  3. 融云即时通讯SDK集成 – 通知检查
  4. Oracle锁表会影响查询效率么,oracle锁表查询,资源占用,连接会话,低效SQL等性能检查...
  5. 订阅号助手android,微信订阅号助手app
  6. 【天光学术】美术论文:湖南传统雕刻艺术的表现形式与特点(节选)
  7. lamp一键安装包+linux,linux下的lanmp/lamp/lnmp一键安装包
  8. 图像采集——OV5640摄像头简介、硬件电路及上电控制的Verilog代码实现并进行modelsim仿真
  9. recv( )函数返回值说明
  10. 执行oracle 函数,oracle 函数function语法及简单实例