CEF是基于chrominum的开源framework,但是与chrominum不同的是,chrominum是针对于Chrome浏览器的开发的,CEF可以让其他的应用程序创建一个基于chrominum的浏览器。类似功能的还有Electron, chrominum现在已经成为流行的框架,里面的blink(webkit)作为render引擎来render页面,V8作为JavaScript引擎去解析JavaScript。
CEF是用C & C++写的所以是跨平台的,从而产生的其他的很多project, 比如CEFSharp, Chromiumfx等等,但是这个Project是分开维护的,并不是由CEF维护的。
CEF源码的编译可以参考这个网页,现在这个文档不去怎么编译CEF, 而已去编译其wrapper的 source从而被其他人所使用。
下面几个步骤来编译生成libcef_dll_wrapper.lib。
1. 安装Visual Studio 2019.
vs2019支持CMake工具,只不过在安装vs2019的时候,要安装c++ 桌面开发包的时候,会自动安装上CMake工具的支持。
2. 从网站下载源码
下载的code 为下面截图的Standard_Distribution.
notes: Debug_Symbols/Release_Symbols是libcef.dll的pdb文件,用来调试用的,这样调试的时候就可以不用编译libcef(很麻烦), 直接有source code.
3. 解压下载的code放到A 目录下。
4. 打开vs2019。
菜单File-Open-CMake,打开code所在的目录A,目录A下有个CMakeLists.txt. 打开这个文件, vs2019界面显示如下:
5. 右键CMakeLists.txt 界面如下:
选择CMake Settings for cef之后,界面就会如下显示:
默认只有x64-Debug.选择+,就会有如下列表:
我选的是x86-Debug, 所以界面上才会出现第二选项。
6. 点击界面上EDIT JSON:
出现如下界面:
7. 编辑上面图中的generator,改写为Visual Studio 16 2019, 默认是Ninja. Ninja也是个跨平台的编译器。保存文件
8. 在VS2019的tool上就会有选项x86-Debug 默认只有x64-Debug:
9.选择x86-Debug, vs2019就会自动产生cef的solution在A\out\build\x86-Debug,该目录可以在第7步骤进行修改(buildRoot)。
10. 到9步骤的目录下找到cef.sln, 用vs2019打开。
11. 找到工程libcef_dll_wrapper:
12. 直接编译工程,容易出现C4005的warning, 右键选择libcef_dll_wrapper工程,打开属性窗口在如下界面禁掉warning 4005:
然后编译改工程,就会产生libcef_dll_wrapper.lib这个静态库。
使用CEF 必须要有libcef.dll和libcef_dll_wrapper.lib的静态库。
参考CEF源码网站