windows如何编译源码-CEF Windows环境搭建源码编译

Chrom 嵌入式框架

背景

最近因为项目需要使用嵌入式浏览器,IE内核对操作系统依赖性太强,对H5的支持不是很好。 CEF是一个基于chromium项目的嵌入式浏览器开源框架。 已经应用于很多产品,并且有比较完善的峰会和官方支持。 是该项目的最佳选择。 由于客户端需要运行在Windows XP系统上,因此Chome浏览器在49版本之后(对应CEF3版本2623,下面提到的CEF均指CEF3)不再支持Win7以下的系统。 CEF二进制发布官网不包含2623版本,但是CEF提供了源码发布,官方也给出了源码编译文档。 虽然根据官方文档已经进行了改进,但是CEF 2623版本的编译过程中仍然存在很多问题。 在此记录一下,供用户参考。

准备编译环境

注意:

由于个人激励(你知道),源代码无法同步。 推荐使用VPN。另外,CEF基于chromium,源码比较大,同步源码时间较长,请耐心等待; 安装VS2015u3时,默认不会安装Win10.0.14393 SDKwindows如何编译源码,所以需要自动勾选; 将执行环境添加到环境变量中; 下载CEF源代码

下载CEF源码之前,先了解一下手动创建脚本automate-git.py,并在命令行执行:

python automate-git.py -h

可以看到源码同步、编译、发布等相关选项,每个选项都有相关说明。 默认情况下,源码同步后,会手动创建并发布二进制包。 由于同步源码和建立时间都比较长,所以将同步源码和编译源码分开。 我们先看一下目录结构:

CEF
 | --- 2623
automate
 | --- automate-git.py
 | --- sync_cef_2623.bat
 | --- build_cef_2623.bat

阐明:

以上目录结构是个人喜好。 没有必要这样设置。 关键是要正确设置automate-git.py的参数。 sync_cef_2623.bat用于同步CEF 2623分支源码,其内容如下:

set CEF_USE_GN=0
set GYP_DEFINES=buildtype=Official
set GYP_GENERATORS=ninja,msvs-ninja 
set GYP_MSVS_VERSION=2015
set CEF_ARCHIVE_FORMAT=tar.bz2
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
python automate-git.py --download-dir=..CEF2623 --branch=2623 --no-build --no-distrib

将以上内容写入sync_cef_2623.bat脚本中。 在保证上述环境设置正确的前提下,在命令行运行sync_cef_2623.bat同步源码。 源码有十几G,如果网络不稳定的话需要很长时间。

以下是一些参数说明。 更多参数请运行 pythonautomate-git.py -h 查看,

笔记:

如果VPN不稳定windows如何编译源码,可能会时不时地中断,导致脚本运行不正确。 只需再次运行该脚本即可。 源码主要有三部分,depot_tools源码、cef源码和chromium源码。 如果发现对应部分的源码已经同步,可以单独使用 --no-depot-tools-update, --no-cef-update, --no-chromium-update 不更新代码的相应部分。 自动创建脚本下载源码时没有进度提示。 比如下载chromium/src目录会花费很长时间,并且仍然会提示still running on src...,请耐心等待。编译CEF源码

下载源代码后,就可以编译了。 编译2623版本时,可能会遇到一些编译错误。 如果你不想自己尝试这个编译错误,请参考下一节的编译错误解决方案。 使用脚本build_cef_2623.bat编译源代码,其内容如下:

set CEF_USE_GN=0
set GYP_DEFINES=buildtype=Official
set GYP_GENERATORS=ninja,msvs-ninja 
set GYP_MSVS_VERSION=2015
set CEF_ARCHIVE_FORMAT=tar.bz2
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
python automate-git.py --download-dir=..CEF2623 --branch=2623 --no-update --no-depot-tools-update --verbose-build --force-build --no-debug-build --force-distrib

将以上内容写入build_cef_2623.bat脚本中,release版本即可编译发布。 以下是一些参数说明:

此外,还有其他编译参数可供选择,请运行 pythonautomate-git.py -h 查看。

修复编译错误

编译过程中,可能会遇到如下编译或链接错误,以我的CEF源代码位置e:reposcef2623为例:

编译错误1

如果您使用的系统区域设置是中国,您可能会遇到一些与字符集相关的编码错误。 您需要修改系统区域设置。 Win10系统下改动如下。 其他系统请自行google:

控制面板 > 时钟、语言和区域 > 区域 > 管理 > 更新系统区域设置...

变成:

英语(美国)

编译错误2

e:reposcef2623chromiumsrcgoogle_apisgaiaoauth2_token_service.cc(313):

错误 C2220:警告被视为错误 - 未生成“对象”文件

警告 C4334:'

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 windows如何编译源码-CEF Windows环境搭建源码编译 https://www.wkzy.net/game/182125.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务