CEF Windows开发环境搭建 左手的ㄟ右手 2022-05-17 09:28 583阅读 0赞 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个**基于Google Chromium的Webbrowser控件**。CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。 它的设计思想就是易用且兼顾性能。CEF基本的框架包含C/C++程序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和Chromium&Webkit的操作细节。它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户插件,协议,javascript对象以及javascript扩展,宿主程序可以随意地控件资源下载,导航,下下文内容和打印等,并且可以跟Google Chrome浏览器一起,支持高性能和Html5 技术, 理解:CEF就是一个WEB控件。放在MFC里,那么MFC的程序就可以开网页了。放在其它的应用程序里,其它的应用程序也可以开网页了。 # 工具 # 我的搭配: * VS 2013 * [cmake-3.12.0-win64-x64][] 下载地址:[https://cmake.org/download/][cmake-3.12.0-win64-x64] * CEF 3.2357.1271 ### **第一步:下载** ### ### **1、下载CEF** ### 我把CEF Binary for windows**解压**到了这个目录:**E:\\cef编程\\cef\_binary\_3.2171.1901\_windows32**,解压后的目录大概是这个情况:你看它包含了几个工程。 ![70][] 上面的目录是这样的: cefclient:是一个比较复杂的示例代码 cefsimple:是一个简单的示例代码 Debug:是用于调试的库 include:是一系列的头文件 libcef\_dll:里面的代码是对libcef.dll的包装 Release:是用于发布的库 Resources:是必要的资源文件 其他文件暂时就不一一解释了。 \--------------------------------- ### **2、下载编译器[cmake-3.12.0-win64-x64][]** 下载地址:[https://cmake.org/download/][cmake-3.12.0-win64-x64] ### 用这个软件的目的是要生成VS项目和解决方案,能被vs2013使用。 解压后是这样的: ![70 1][] 把cmake-3.12.0-win64-x64/bin 添加到path中去,让任何目录都可以运行bin\\cmake命令。 具体的操作是:打开控制台命令cmd,执行“set path=e:/cmake-3.12.0-win64-x64/bin;%path%”命令。 ![70 2][] ### **第二步:编译libcef\_dll工程** ### libcef\_dll是目录名,见上面的图,libcef\_dll\_wrapper是这个目录中的项目名。 ![70 3][] 此编译过程主要是为了编译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文件 ![70 4][] 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目录添进去 ![70 5][] ![70 6][] 2、选中libcef\_dll\_wrapper,鼠标右键,属性–>配置属性–>C/C++–>预处理器–>预处理器定义,点击它后会有向下的按钮,点按钮,会出现“编辑”,点编辑后在原有的基础上新增一个NOMINMAX宏。这是为了解决std::min/std::max和VC全局定义的min/max宏冲突。libcef\_dll里有些cc文件内用了std::min/max模板函数,不添加NOMINMAX,可能出现C2589和C2059错误 ![70 7][] 3、Debug版本,运行库选择“多线程调试(MTd)”;Release版本选择多线程(MT)。 资料:/MD和/MDd将是潮流所趋,/ML和/MLd方式请及时放弃,/MT和/MTd在非必要时最好也不要采用了。不过这里仍采用。 具体操作是:属性->C/C++->代码生成器->运行库 ![70 8][] ![70 9][] 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)目录下 ![70 10][] Release目录下的libcef\_dll\_wrapper没有生成成功,就没有拷贝。 [cmake-3.12.0-win64-x64]: https://cmake.org/download/ [70]: /images/20220517/d353efa06ac648619c2beff7ebd6d8c7.png [70 1]: /images/20220517/d1c11a28cccd4078928faec886b9daa0.png [70 2]: /images/20220517/e3006d9fcebb4c408c5721c292789d97.png [70 3]: /images/20220517/8ad06efaff5f47c4810c46c6dfc32787.png [70 4]: /images/20220517/438236823edc48429d42f75aafb195ea.png [70 5]: /images/20220517/0ed37c91bc334e7da250afa5d733d92f.png [70 6]: /images/20220517/9c95b8f3522145278c053d21af99cccc.png [70 7]: /images/20220517/94599a590e164ffebb7d50dc4a55b4e6.png [70 8]: /images/20220517/946afc687f8d43de94dd35750d8ceb0c.png [70 9]: /images/20220517/a89b1acf4e99498882045e24861be892.png [70 10]: /images/20220517/47b307cd601d493ea8396b898b1c91bc.png
还没有评论,来说两句吧...