1 什么是cef
cef是Chromium Embedded Framework的英文缩写,是一个基于Google Chromium的开源项目。Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可用的嵌入浏览器支持。CEF3不仅开源,而且跨平台,框架的开发者也在不断的更新,英文资料也较丰富,对Html5,Css3等支持也很好。
2 Windows上编译cef
2.1 下载cef
CEF Automated Builds:https://cef-builds.spotifycdn.com/index.html#windows64
在Version Filter输入自己想编译的cef版本号进行筛选,然后上面的Windows 64-bit对应64位,Windows 32-bit对应32位。
这里以cef 94,Windows 64-bit为例,选完之后一般有五个文件可以下载,其中:
- Standard Distribution:标准发布包。包含include头文件、libcef_dll_wrapper源码、Debug和Release的动态库文件、cmake配置文件、cefclient和cefsimple应用程序源码
- Minimal Distribution:最小的发布包。包含include头文件、libcef_dll_wrapper源码、Release的动态库文件、cmake配置文件
- Sample Application:cefclient的Release可运行程序
- Debug Symbols:Debug构建符号
- Release Symbols:Release构建符号
如果是需要开发,可以选择Standard Distribution和Minimal Distribution下载,本文以Standard Distribution为例。
最后下载的文件为cef_binary_94.4.11+gc4d96f0+chromium-94.0.4606.81_windows64.tar.bz2。
2.2 编译cef
编译cef需要安装以下工具:
- CMake GUI
- Visual Studio 2019
如果想使用nmake编译,可以参考:cef编译及使用-Windows上编译cef 这篇文章。
首先需要解压cef_binary_94.4.11+gc4d96f0+chromium-94.0.4606.81_windows64.tar.bz2,然后在解压缩文件夹中新建一个build文件夹。
打开CMake GUI,source文件夹选择解压根文件夹,build文件夹选择build文件夹,点击Configure按钮,选择Visual Studio 2019,x64
然后点击Finish按钮,等待Configure完成,然后点击Generate按钮,都显示done表示项目生成完成。然后点击Open Project按钮打开生成的Visual Studio项目。在生成的Visual Studio项目中,我们只需要生成libcef_dll_wrapper项目即可,生成的vs工程默认是Unicode字符集、MTd(MT)的,也可以根据自己的需要修改
编译完成之后,生成的libcef_dll_wrapper.lib位于build\libcef_dll_wrapper\Debug(或者Release)\文件夹下,在之后Duilib项目中,libcef_dll_wrapper.lib使用本次生成的,而其他依赖的lib使用解压文件夹中已有的lib。
2.3 在编译时遇到的问题
我最开始不是使用的cef 94版本,而是使用的发文时最新的cef 版本117,但是按照上述步骤在编译的时候出现了以下的报错信息
error C2061: 语法错误: 标识符“FILE_INFO_BY_HANDLE_CLASS” (编译源文件 F:\Software\cef\cef_binary_117.2.5+gda4c36a+chromium-117.0.5938.152_windows64\libcef_dll\wrapper\libcef_dll_wrapper2.cc)
这个问题我查了一下,应该是cef 117版本所需要的Windows SDK高于我电脑上的Windows上的SDK版本导致的。解决方法也比较简单:
- (1)升级电脑上的Windows SDK
- (2)如果不想升级Windows SDK,那么就选择低版本的cef版本编译
所以我就将cef版本从117降到了94,成功完成编译。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Duilib – Windows系统使用Visual Studio编译cef
原文链接:https://www.stubbornhuang.com/2849/
发布于:2023年10月13日 14:26:05
修改于:2023年10月13日 16:17:15
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
50