CEF Windows开发环境搭建

        嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrowser控件。CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。

  它的设计思想就是易用且兼顾性能。CEF基本的框架包含C/C++程序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和Chromium&Webkit的操作细节。它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户插件,协议,javascript对象以及javascript扩展,宿主程序可以随意地控件资源下载,导航,下下文内容和打印等,并且可以跟Google Chrome浏览器一起,支持高性能和Html5 技术,

        理解:CEF就是一个WEB控件。放在MFC里,那么MFC的程序就可以开网页了。放在其它的应用程序里,其它的应用程序也可以开网页了。

工具

我的搭配:

第一步:下载

1、下载CEF

        我把CEF Binary for windows解压到了这个目录:E:\cef编程\cef_binary_3.2171.1901_windows32,解压后的目录大概是这个情况:你看它包含了几个工程。

上面的目录是这样的:

cefclient:是一个比较复杂的示例代码
cefsimple:是一个简单的示例代码
Debug:是用于调试的库
include:是一系列的头文件
libcef_dll:里面的代码是对libcef.dll的包装
Release:是用于发布的库
Resources:是必要的资源文件
其他文件暂时就不一一解释了。

---------------------------------

2、下载编译器cmake-3.12.0-win64-x64   下载地址:https://cmake.org/download/

用这个软件的目的是要生成VS项目和解决方案,能被vs2013使用。

解压后是这样的:

把cmake-3.12.0-win64-x64/bin 添加到path中去,让任何目录都可以运行bin\cmake命令。

具体的操作是:打开控制台命令cmd,执行“set path=e:/cmake-3.12.0-win64-x64/bin;%path%”命令。

第二步:编译libcef_dll工程

        libcef_dll是目录名,见上面的图,libcef_dll_wrapper是这个目录中的项目名。

此编译过程主要是为了编译libcef_dll_wrapper,编译之后在\out\Debug\lib目录下会看到编译的DLL,以后步骤会用到,因为cefsimple示例依赖libcef_dll_wrapper,所以需要先编译libcef_dll这个项目。

首先:切换到E:\cef编程\cef_binary_3.2171.1901_windows32\libcef_dll目录,执行“CMake .”命令,生成VS 2013的项目文件和solution文件

  1. 使用VS 2013打开    E:\cef编程\cef_binary_3.2171.1901_windows32\libcef_dll   目录下的Project.sln,选中libcef_dll_wrapper这个项目,右键属性/配置属性/C/C++/常规/附加包含目录,把

    E:\cef编程\cef_binary_3.2171.1901_windows32\libcef_dll目录添进去


2、选中libcef_dll_wrapper,鼠标右键,属性–>配置属性–>C/C++–>预处理器–>预处理器定义,点击它后会有向下的按钮,点按钮,会出现“编辑”,点编辑后在原有的基础上新增一个NOMINMAX宏。这是为了解决std::min/std::max和VC全局定义的min/max宏冲突。libcef_dll里有些cc文件内用了std::min/max模板函数,不添加NOMINMAX,可能出现C2589和C2059错误

3、Debug版本,运行库选择“多线程调试(MTd)”;Release版本选择多线程(MT)。

资料:/MD和/MDd将是潮流所趋,/ML和/MLd方式请及时放弃,/MT和/MTd在非必要时最好也不要采用了。不过这里仍采用。

具体操作是:属性->C/C++->代码生成器->运行库

4、编译,正常情况下它生成libcef_dll_wrapper.lib文件

5、把E:\cef编程\cef_binary_3.2171.1901_windows32\libcef_dll\Debug\libcef_dll_wrapper.lib拷贝

到E:\cef编程\cef_binary_3.2171.1901_windows32/Release(或Debug)目录下

Release目录下的libcef_dll_wrapper没有生成成功,就没有拷贝。

猜你喜欢

转载自blog.csdn.net/jintingbo/article/details/81538567
CEF