CEF英文全称,CEF是什么

  CEF英文全称,CEF是什么

  一、CEF简介

  Chromium Embedded Framework (CEF)是基于Google Chromium项目的开源Web浏览器控件,支持Windows、Linux和Mac平台。

  简单来说就是Chrome的开源版本。目前很多所谓的双核浏览器其实都是chrome IE的双核。基于HTML5的支持,和v8引擎的效率,在软

  在软件中嵌入chromium是一个不错的选择,目前市场上广泛使用,比如tx软件。你一抓到Spy就知道了,如下图

  二。cef下载

  http://opensource.spotify.com/cefbuilds/index.htmls的下载速度并不快,但我终于下载了。因为我是vs2013,所以遇到的坑是3.3以上版本至少需要vs2015。

  可以,可以编。总之下载3.27版本花了很长时间。提示:如果不打算放弃32位,建议下载32位版本,否则64位软件无法在32位系统上运行。

  随着新下载的标准开发工具包被解压缩,如下图所示,

  这里解释一下目录结构是非常重要的。作者在这里花了很多时间。

  1.首先,推荐阅读Readme.txt,里面对项目结构做了简要描述。当然,看了一遍也不能完全理解。但是随着对项目的熟悉,

  发现文件挺清楚的。

  2.The 2.licence.txt没什么可说的,只是关于版权的描述。

  有几个gyp/gypi文件不能手动修改,而是由GYP(Generate Your Projects)工具自动生成,相当于工程配置文件。插入一个GYP描述:

  [普通]查看普通副本打印?GYP结构GYP输入是。吉普和。gypi文件。gypi文件用于包含。gyp文件。gyp文件是符合特定格式的json文件。Gyp文件包含目标。VisualC下,gyp生成sln,target生成vcproj或vxcproj。chromium中的GYP结构是通过命令行统一使用build/common.gypi的通用文件,项目的配置,选项的处理,编译选项的使用都在这个文件中配置。GYP结构GYP输入是。吉普和。gypi文件。gypi文件用于包含。gyp文件。gyp文件是符合特定格式的json文件。Gyp文件包含目标。在Visual c++下,gyp生成sln,target生成vcproj或vxcproj。chromium中的GYP结构是通过命令行统一使用build/common.gypi的通用文件,项目的配置,选项的处理,编译选项的使用都在这个文件中配置。[普通]查看普通副本打印?生成一个总项目all.gyp,它依赖于所有其他项目。此项目已生成,所有项目都已生成并完成。而且还有一个通用的项目,也方便开发。如果要用GYP,建议遵循chromium的结构,common.gypi也要用chromium裁剪。毕竟各种选项的选择也是需要经验的。生成一个总项目all.gyp,它依赖于所有其他项目。此项目已生成,所有项目都已生成并完成。而且还有一个通用的项目,也方便开发。如果要用GYP,建议遵循chromium的结构,common.gypi也要用chromium裁剪。毕竟各种选项的选择也是需要经验的。[普通]查看普通副本打印?使用GYPchromium项目的方法由Python脚本build/gyp_chromium调用,实现添加公共配置、检测附加配置、添加所需编译选项。使用GYPchromium项目的方法由Python脚本build/gyp_chromium调用,实现添加公共配置、检测附加配置、添加所需编译选项。

  3.然后是介绍CMakeList.txt文件的时候了,这个文件很重要。这里介绍一些CMake的知识,下载地址:

  CMake下载地址

  CMake是一个跨平台的安装(编译)工具,可以用简单的句子来描述所有平台的安装(目前很多开源的跨平台库都是用这种方式,比如ProtoBuf,cef)。

  本文不介绍CMake脚本。因为目前用的是win平台,直接下载免安装版解压运行cmake-gui.exe。(废话,这是qt程序。

  跨平台还是选择了qt,呵呵)。

  你需要注意的是源代码目录和生成项目文件的目录。如果配置正确,生成相应的vs版本项目文件,然后打开项目。

  通常,所有项目(包括库和测试程序)都包含在这个项目中。

  Libef _ dll _ wrapper会生成一个库,cefclient和cefsimple会生成测试程序,对应下面两个图。

  4.文件夹介绍

  (1)Cmake,这个文件夹包含了Cmake的一些宏定义和配置信息。

  (2)include,使用库的所有头文件。

  (3)libcef_dll,库的源代码

  (4)测试,测试程序演示源代码

  (5)资源,资源文件

  这个资源文件就是程序运行需要依赖的资源文件,包括语言包、unicode支持等。

  (6)Debug/Release,程序所依赖的动态库/静态库。c库除外:libcef_dll_wrapper.lib.

  1.该文件是必需的,没有任何CEF它将无法运行:libcef.dll

  CEF的核心库文件、js引擎、网页加载和渲染逻辑等就不用说了。都在其中,也是文件大小最大的一个(发布版将近50M,调试版超过500M)。icudtl.dat

  用于支持unicode,缺少这些文件。虽然编译可以通过,但是执行cef initialize();会死机,在这个坑里很久都以为是代码问题。natives_blob.bin

  快照_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计算机上运行。

  英文原文

  MFC附有使用CEF3的简单演示代码。

  [cpp]查看普通副本打印?BOOLCMFCDlgCefTestDlg:OnInitDialog(){ CDialogEx:OnInitDialog();//TODO:在此添加额外的初始化代码CefRefPtrCSimpleClientclient(newCSimpleClient());m _ simpleClient=客户端;cef settings settings cef settings traits:init(settings);设置。multi _ threaded _ message _ loop=true;cefmainargsmairgscefrefptrcefappcefacefinitialize(mainArgs,settings,cefApp,NULL);RECTrectGetClientRect(rect);rectrect new=rectCefWindowInfowinInfowinInfo .SetAsChild(GetSafeHwnd()、rect new);CefBrowserSettingsbrowserSettings;CefBrowserHost:create browser(winInfo,client,_T(http://www.lofter.com ),browserSettings,NULL);returnTRUE//除非将焦点设置到控件,否则返回TRUE } BOOL CMFCDlgCefTestDlg:OnInitDialog(){ CDialogEx:OnInitDialog();//TODO:在此添加额外的初始化代码CefRefPtrltCSimpleClientgt .client(new CSimpleClient());m_simpleClient=客户端;cef设置设置;CefSettingsTraits:init(amp;设置);设置。multi _ threaded _ message _ loop=true;CefMainArgs mainArgsCefRefPtrltCefAppgt头孢appCefInitialize(mainArgs,settings,cefApp,NULL);矩形矩形;GetClientRect(amp;rect);RECT rect new=rect;CefWindowInfo winInfowinInfo .SetAsChild(GetSafeHwnd()、rect new);头孢浏览器设置浏览器设置;CefBrowserHost:create browser(winInfo,client,_T(http://www.lofter.com ),browserSettings,NULL);返回TRUE//除非将焦点设置到控件,否则返回真实的

  }

  [cpp]查看普通副本打印?voidCMFCDlgCefTestDlg:OnClose(){ span style=" white-space:pre;"/span//TODO:在此添加消息处理程序代码和/或调用默认值span style=" white-space:pre;"/spanm _ simple client-Release();span style=" white-space:pre;"/spacefshutdown();span style=" color:# ff 0000;"//其实这行代码如果没有设置头孢应用的话,是会崩溃的,测试完全可以注释。但切记,该函数只能在主线程中调用。后续深入学习后,还需解一下惑/span span style=" white-space:pre;"/spanCDialogEx:on close();} void CMFCDlgCefTestDlg:on close()

  {

  //TODO:在此添加消息处理程序代码和/或调用默认值

  m _简单客户端-发布();

  cef关闭();//其实这行代码如果没有设置头孢应用的话,是会崩溃的,测试完全可以注释。但切记,该函数只能在主线程中调用。后续深入学习后,还需解一下惑

  CDialogEx:OnClose();

  }

  推荐一个不错的文档地址:

  开源代码库文档

  世纪乐知下载

  头孢霉素从铬源代码编译请点我参考

  转载自:https://博客。csdn。net/evil _ 119/article/details/78751310

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: