CEF环境编译

article/2025/11/7 12:20:16

文章目录

    • 前言
    • 龙芯-CEF用户使用手册
    • Tutorial
      • 源码
      • 入口函数
      • 编译步骤
      • 最后

前言

Chromium Embedded Framework (CEF) 官方镜像。 一个简单的框架,用于将基于 Chromium 的浏览器嵌入到其他应用程序中。

CEF仓库:chromiumembedded/cef

二进制CEF: CEF Automated Builds

CEF文档: cef/GeneralUsage

CEF 文档中文: GitHub - fanfeilong/cefutil: cef util

注:本篇可以让我们对CEF有个基本概念。对于如何通过CEF实现功能,不谈(不会)。


龙芯-CEF用户使用手册

下面,我们按照龙芯-CEF-安装说明 · 文档,过一遍。

到(CEF) Automated Builds下载一个编译过的CEF。

# 高版本的需要3.19的cmake。搞版本低点
wget https://cef-builds.spotifycdn.com/cef_binary_92.0.27%2Bg274abcf%2Bchromium-92.0.4515.159_linux64.tar.bz2
tar -jxvf cef_binary_92.0.27+g274abcf+chromium-92.0.4515.159_linux64.tar.bz2
mv cef_binary_92.0.27+g274abcf+chromium-92.0.4515.159_linux64 cef_binary

目录结构如下

- include
目录是cef的头文件,使用cef开发时需引用这些头文件并调用里面的api函数接口。
- Release
该目录存放着libcef.so动态库,使用cef开发时需要链接该动态库
- tests
该目录放的是cef官方基于cef开发的一些示例和测试样例
- libcef_dll
该目录是cef的封装的接口
- Resource
该目录放的是一些资源文件
- cmake
该目录放着编译相关的文件

编译libcef_dll_wrapper和示例程序。

录放着编译相关的文件
cd cef_binary && mkdir build && cd build
cmake ..
make

运行我们编译好的cefsimple程序

./cefsimple --url=cn.bing.com

在这里插入图片描述


Tutorial

经过上面的操作,很神奇的看到程序打开了一个地址。但我们程序的结构是什么样子的。

下面,我们按照官方Tutorial | 对应翻译,过一遍。看一看程序所在目录下面都有哪些文件。这些文件是什么含义。

ls
cefsimple  chrome_100_percent.pak  chrome_200_percent.pak  chrome-sandbox
debug.log  GPUCache  icudtl.dat  libcef.so  libEGL.so  libGLESv2.so  
locales  resources.pak  snapshot_blob.bin  swiftshader  
v8_context_snapshot.bin

应用的组成分成这几部分:

  • CEF的动态库(libcef.so等)

  • 支持文件(.bin,.pak等)

  • 资源文件(我们客户端程序提供,这里我们是打开的外部url。如果是客户端程序,需要提供html/js/css等)(客户端前端人员关注)

  • 客户端可执行程序(这里的cefsimple。客户端后端的C++人员关注)

上面CEF的动态库和支持文件,来自之前的ReleaseResource目录。下载的二进制包中的README有这部分的描述。

下面部分,复制自上面的翻译链接

源码

cefsimple程序中初始化CEF以及创建了一个弹出式的浏览器窗口。所有的浏览器窗口关闭时, 程序终止。
程序流程如下:

  • 操作系统首先执行主进程中的入口函数(main或者是wWinMain)
  • 入口函数中
    • 创建处理进程级别回调函数的SimpleAPP实例
    • 初始化CEF并启动CEF消息处理循环
  • CEF初始化完成后,调用SimpleApp::OnContextInitialized().该函数
    • 创建SimpleHandler的单例
    • 通过CefBrowserHost::CreateBrowser()创建一个浏览器窗口
    • 所有的浏览器窗口共享SimpleHandler实例,该实例负责自定义浏览器窗口以及处理浏览器相关回调事件,包括浏览器生命周期、加载状态、标题显示等等
    • 浏览器窗口关闭时,回调函数SimpleHandler::OnBeforeClose()会被调用。当所有浏览器窗口退出后,回调函数OnBeforeClose 接着被调用,然后退出CEF的消息循环,退出程序。

最新的CEF发布版本中,可能文件有更新,但是上面的这些概念是不会修改的。

入口函数

程序执行是从浏览器进程中的入口函数开始的。入口函数中负责初始化CEF以及操作系统相关的对象。
例如,在LINUX中,入口函数中初始化了X11相关的错误处理函数,而在OS X中则初始化了必须的cocoa对象。另外的OSX 中,浏览器进程和其他辅助进程都有独立的入口函数。

  • Windows平台的入口函数文件cefsimple/cefsimple_win.cc
  • LINUX平台下的入口函数文件cefsimple/cefsimple_linux.cc
  • MAC OSX平台下
    • 浏览器进程入口函数文件cefsimple/cefsimple_mac.mm
    • 其他子进程cefsimple/process_helper_mac.cc

编译步骤

编译步骤在不同平台上略有不同。可以查看CMake文件详细了解不同平台下的编译流程。
所有平台下的编译步骤可以总结为以下几点:

  • 编译libcef_dll_wrapper 静态库(这个库是需要在本地编译的)
  • 编译程序源码,链接到libcef 动态库和libcef_dll_wrapper 静态库
  • 拷贝资源和库文件到输出目录

更多内容,可结合阅读:cefutil/CEF General Usage.md at master · fanfeilong/cefutil · GitHub


最后

如何自己编写一个cefsimple?

这就要,花时间,看CEF的C/C++接口调用。


http://chatgpt.dhexx.cn/article/jPy3fEI1.shtml

相关文章

CEM和BBHE

逆光图像处理 CEMBBHE代码CEMBBHE 今天又了解到了两种对亮度处理的方法。分别是CEM和BBHE。 参考: CEM_matlab. BBHE_matlab. BBHE_C. CEM 单纯的CEM公式比较简单,原理和公式如下 根据网上一个matlab程序复写了一遍python的,灰度图是有效果的。彩色…

模拟生成高斯噪声

之前有做过在图像上加高斯噪声的实验,在模拟生成随机数,以及产生高斯分布噪声时,受到了一些干扰。尤其是和高斯模糊相混淆。对于初学者来说,这些虽然是一些基本的图像处理知识,但是,眼高手低是很要不得的。…

CSS实现高斯模糊效果

用CSS实现高斯模糊效果:filter、backdrop-filter 高斯模糊是一种常见的效果(俗称毛玻璃效果),在CSS中使用filter、backdrop-filter属性均可实现 一、filter 这其实是一种“假”模糊,需要一层做背景并使用filter属性达到…

(三)对图像进行Gauss高斯平滑处理

对图像进行Gauss高斯平滑处理 平滑滤波 图像在采集、传输和转换过程中都容易受环境的影响,这在图像中就表现为噪声,这些噪声会致使图像质量降低或者干扰我们提取原本想要的图像信息,所以需要通过滤波技术来去除这些图像中的噪声干扰。 常见…

高斯白噪声(white Gaussian noise,WGN)及matlab演示

原文链接:http://wenku.baidu.com/link?urlmj_wz_9l7PAlURQYi1iOnTnweMxyPvoTWGgoIQdCh2v0Yugt7v_G9QsUkS6Ww-ro2VhJ3L9rsE9kqhqX1V-3TlLNeZdcx_zrLlzZBBIhgqK 文库上看到的一片文章,讲的非常清晰明了,我等渣渣不得不转啊。 本文科普一下高斯…

高斯平滑 高斯模糊 高斯濾波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter ) C++ 實現

http://blog.csdn.net/cay22/article/details/5546636 高斯平滑 高斯模糊 高斯濾波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter ) C 實現 在之前提到過了均值濾波器, 就是說某像素的顏色, 由以其為中心的九宮格的像素平均值來決定. 在這個基礎上又發展成了帶權的…

高斯玻色采样enhance量子近似优化算法

上篇博文,我们已经接触了QAOA量子近似优化算法,我们已经知道近似优化算法一般用于求解组合优化问题。这里我们再说明一下什么是组合优化问题: 给定一个数据集 X { x 1 , x 2 , . . . x N } X{{x_{1},x_{2…

matlab 绘制高斯(Gaussan)函数图像

高斯函数如下: G a u s s a n 1 2 π σ e − ( x − μ ) 2 2 σ 2 Gaussan \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} Gaussan2π ​σ1​e−2σ2(x−μ)2​ 使用 MATLAB 编写高斯函数,需传入 x , μ , σ x,\mu,\sigma x,μ,…

高斯平滑滤波器(Gaussian Smoothing Filter)

一、图像滤波的基本概念 图像常常被强度随机信号(也称为噪声)所污染。一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等。椒盐噪声含有随机出现的黑白强度值.而脉冲噪声则只含有随机的白强度值&am…

高斯滤波(Gauss filtering)

1.概念介绍 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。  通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后…

Matlab_用高斯赛德尔(Gaoss-Seidel)迭代法解线性方程组

1.程序代码 function xGauss(A,b,x0,ep,N) %用途:用高斯迭代法解线性方程组Axb %A为系数矩阵,b为右端向量,x0为初始向量(默认零向量) %ep为精度(1e-6),N为最大迭代次数&#xff…

gaussian_filter( )函数(高斯滤波)

对一个数进行高斯滤波(模糊)可以理解成将该数取附近矩形窗口所有值的加权平均值,距离处理数越近的点权重越大,距离处理点越远的点权重越小。因此如果取的矩形窗口越大,那么对处理点的模糊效果越强烈。 上图&#xff0c…

Gauss-Seidel迭代法的C++实现

高斯赛德尔迭代法大家可以从网站上找到相关的公式推导&#xff0c;这里给出它的C算法实现和运行的结果。 #include<iostream> #include<math.h> using namespace std;int n; //定义全局变量 double a[100…

高斯平滑

&#xfeff;&#xfeff; 高斯平滑 Common Names: Gaussian smoothing 简述&#xff1a; 高斯平滑操作是一种2-D的卷积操作&#xff0c;应用于模糊图像中&#xff0c;去除细节和噪声。从这个意思上说&#xff0c;它类似于均值滤波器&#xff0c;但是使用的是不同的内核&#…

高斯平滑 高斯模糊 高斯滤波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter ) C++ 实现

发展到现在这个平滑算法的时候, 我已经完全不知道如何去命名这篇文章了, 只好罗列出一些关键字来方便搜索了. 在之前我们提到过了均值滤波器, 就是说某像素的颜色, 由以其为中心的九宫格的像素平均值来决定. 在这个基础上又发展成了带权的平均滤波器, 这里的高斯平滑或者说滤波…

Gaussian Smoothing(高斯平滑)

高斯平滑操作是一个二维卷积操作&#xff0c;用于**“模糊”**图像&#xff0c;去除细节和噪音。它类似于均值滤波器(假如3X3&#xff0c;则全部相加取均值&#xff0c;即成为中间点的像素值)&#xff0c;但它使用不同的核表示高斯驼峰的形状。 二维高斯公式 平均值(0&#xf…

高斯-赛戴尔(Gauss-Seidel)迭代法及算法实现

1、高斯-赛戴尔迭代法的定义以及表达形式 以下列方程组为例&#xff1a; 在雅克比迭代法中&#xff0c;并没有对新算出的分量进行充分利用&#xff0c;一般来说&#xff0c;这些新算出计算的结果要比上一步计算的结果精确。 对上式第二个方程组&#xff0c;第一行式子算出的x值…

常用技术指标之一文读懂RSI指标

什么是RSI指标&#xff1f; RSI (Relative Strength Index) 中文名又叫相对强弱指标&#xff0c;由韦尔斯.怀尔德(Welles Wilder)首创&#xff0c;发表在他的《技术交易系统新思路》一书中&#xff08;1978年版&#xff09; RSI指标基本原理&#xff1a; 通过测量一段时间间内…

量化投资常用技能——指标篇3:详解RSI指标,及其代码实现和绘图

量化投资常用技能 系列文章目录 我们已经介绍了三篇关于量化投资方面绘图的文章和两篇指标类的推导和介绍的文章&#xff0c;大家有兴趣可以了解一下 绘图篇 量化投资常用技能——绘图篇 1&#xff1a;绘制股票收盘价格曲线和ochl烛状图量化投资常用技能——绘图篇 2&#xf…

缠论指标(全网最精准)

支持平台 01 通达信(电脑手机&#xff09; 通达信版本简介 02 01 基础版功能&#xff1a; 支持缠论自动分笔&#xff0c;自动线段&#xff0c;显示笔中枢&#xff08;蓝色&#xff09;&#xff0c;线段中枢&#xff08;橙色&#xff09;&#xff0c;支持笔段中枢混合显示…