Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤
背景
因为项目需要在客户端中内嵌浏览器,需要支持 xp 操作系统和播放视频,但 CEF 2623 以后的版本已经不支持 xp 操作系统,也不再提供 2623 版本的二进制发布包下载,只好自己手动编译。编译结果要求达到:
- 可以在 xp 及以上操作系统运行
- 可以播放 mp4 视频
在参考了很多文档,反复尝试很多次以后,终于编译成功并在项目中投入使用了。
因为直接从 CEF 代码库 2623 分支获取的代码编译会报错,需要进行多处修改才能编译成功。 这里把修改好的源码分享出来,只要根据下面的操作步骤配置编译环境,下载解压源代码直接编译应该就可以成功。
总的操作步骤是:
- 安装编译环境
- 下载源码压缩包解压
- 编译得到 CEF 的二进制发布包(包含集成所需的头文件和 dll,但还缺少 lib)
- 有了二进制发布包以后,就可以再轻松的编译静态 或 动态 lib
安装编译环境:
- OS: Win7 64bit 以上系统, 至少8G内存,60G以上硬盘,最好是SSD
- Visual Studio: VS2015u3 + Win10.0.14393 SDK + Ninja
- Python 2.7+
- 安装VS2015u3的时候,默认是不会安装Win10.0.14393 SDK的,需要手动勾选;
- 安装python后需要将python的执行环境加入到环境变量中;
下载源码
- 源码放在坚果云上供大家下载,下载速度很快,用此链接下载:https://www.jianguoyun.com/p/DZEq1SUQ_LKBBxjulmk
- 解压源码到磁盘根目录,比如 E:, 解压后的文件会在 E:\cef 文件夹中
编译
- 编译前需要保证磁盘空间至少 60G 的可用空间,最后编译完我用了 54.8G(而且只是编译 Release)如果 Release 和 Debug 同时编译,可能需要准备 120G 的空间
- 编辑 E:\cef\automate\build_cef_2623.bat 文件,根据需要编译的版本(Releae 或 Debug),打开或屏蔽相应的行,然后保存
- 进入命令行模式,切换到 E:\cef\automate 目录, 执行 build_cef_2623.bat 即开始编译
- 编译大概需要 4 个小时,编译过程中大部分时间,命令行窗口不会有变化,详细日志会写入 E:\cef\2623 文件夹,Release 版本大概日志写到 400 M 就快编译完了
- 编译完成后的二进制发布包在 E:\cef\2623\chromium\src\cef\binary_distrib 文件夹可以找到
按照上面的方式编译出来的是 32 位版本,且只能用于 VS2015。如果要用在其他环境,可以修改 E:\cef\automate\build_cef_2623.bat 文件中的参数,详细可参考文末的几篇参考文档。
根据二进制发布包编译 dll
- 参考这篇文章操作即可,很简单 https://www.jianshu.com/p/4c052fd02f7a
后续会把 vs2015 32位 环境下编译好的版本发上来,可以直接使用。
如果有问题可以加 QQ 群讨论,群号:599320555
转载请注明来自博客园 TerryHe 的微博 https://www.cnblogs.com/luckbird/p/CEF_2623_Compile.html
几篇参考文档
- https://www.jianshu.com/p/0d9f3633ef9e
- https://www.jianshu.com/p/4c052fd02f7a
- https://blog.csdn.net/zhuhongshu/article/details/54193842
- https://blog.csdn.net/ijiabao520/article/details/78006756
Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤的更多相关文章
- 我的第一个RootKit,支持XP、Vista、Win7、Win8 RTM 32位
只有写过一个BootKit,才能比较深刻的理解其整个过程与机制,也能加深对Windows系统引导各个过程的熟悉和理解. 我写的这个bootkit,暂时还没想到一个比较好的名字,它 1. 支持xp到w ...
- 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序 good(从VS2012 update1开始支持xp和c++11)
一.直接使用VS2012/VS2013/VS2015生成XP兼容的可执行程序 Visual Studio刚发布时没打补丁,称为RTM版,之后会陆续发布补丁,进行bug修复和功能增强.VS2010及之前 ...
- 关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问
最近为 aioserver 增加了ssl支持. 在 myssl.com 上测试了一下,关于[客户端握手模拟]发现 ie8 xp tls1.0 这一项提示:握手失败 (服务器断开连接) 我又试了一下 ...
- Reg2Bat_By Slore(生成同名bat文件,支持XP WIN7 WIN7X64).vbs
原文http://slore.blogbus.com/logs/52627038.htmlSlore编写的这个reg文件转换为bat文件,是逐句转换的,不是通过批处理生成临时reg文件然后导入的方法, ...
- Qt5.5.0在Windows下静态编译(修改参数以后才能支持XP)good
测试系统环境: windows 7 编译软件环境: vs2013 + QT5.5.0 [源码地址:http://download.qt.io/official_releases/qt/5.5/5.5. ...
- 编译 Qt 5.6(使QtWebEngine支持XP)
说明 qt 5.6的编译进行了数十遍,才得出本文的可行方案,之所以花了这么多的时间,主要是qt引入了QtWebEngine模块后,导致编译难度直线上升,而且又有一些中国特色的问题(如360安全卫士)导 ...
- 官方发布的新版本Qt已经不支持XP了,要自己从源代码编译
官方发布的新版本Qt已经不支持XP了,要自己从源代码编译,编译选项里有个-target项,用来提供XP支持的,编译时加上-target xp就可以了 http://www.qtcn.org/bbs/r ...
- 让VC2012生成的程序支持XP系统(QT的DLL都是支持XP的,只与EXE有关)
如果用的编译器是VC2012以上,那么默认生成出的程序是不能运行在XP系统上的.所以需要修改链接参数 我们要做的是修改qmake.conf文件中的参数,文件路径根据开发环境不同而不同下面以5.1.1 ...
- JZ2440专用dnw 支持xp、win7、win8和win10系统【转】
本文转载自:https://blog.csdn.net/czg13548930186/article/details/76999152 学习于韦东山百问网公司 本文用于解决win7以上系统使用dnw难 ...
随机推荐
- unity3D游戏开发实战原创视频讲座系列11之相扑游戏开发并公布到Win\WP8
解说文件夹 第一讲 游戏的演示和资源介绍 第二讲 场景的建设 第三讲 玩家的移动 第四讲 对手的AI(让对手动起来) 第五讲 游戏的管理(上) 第六讲 游戏的管理(下) 第七讲 公布到Win8系 ...
- C# 数组转换为DataTable 的三个方法
C# 数组转换为DataTable 的三个方法 using System; using System.Data; namespace ArrayToDataTable { class ArrayT ...
- bzoj 5127 数据校验
题目大意: 一个数列a 对于 a 的一个区间 [l, r],若对于该区间 [l, r] 内的任意一个非空连续子区间,该子区间内出现过的数值在整数上值域连续,则称 [l, r]为合法区间 m次询问 每 ...
- [luogu_U15116]珈百璃堕落的开始
https://www.zybuluo.com/ysner/note/1239458 题面 给定\(n\)个二元组\((x,y)\),问有多少种方案,使得选出其中几个后,\(\sum x=\sum y ...
- NOI2015 软件包管理器(树链剖分+线段树)
P2146 软件包管理器 题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决 ...
- [Apple开发者帐户帮助]八、管理档案(2)创建临时配置文件(iOS,tvOS,watchOS)
创建临时配置文件以在设备上运行您的应用程序而无需Xcode.在开始之前,您需要一个App ID,一个分发证书和多个注册设备. 有关完整的临时配置文件工作流程,请转到Xcode帮助中的分发到已注册设备( ...
- [Swift通天遁地]七、数据与安全-(10)文件的加密压缩和解压加密压缩
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Elasticsearch搜索常用API(利用Kibana来操作)
上面我们已经介绍了Elasticsearch的一些基本操作,这篇文章属于进阶篇,我们一起来学习. 前面我们创建了sdb和user文档,现在我们来看如何查询user中所有的文档呢? GET /sdb/u ...
- ASP.NET MVC5 之 Log4Net 的学习和使用
最近在学习 log4Net 插件,在博客园找到了好多资料,但是实现起来还是有点麻烦. 现在记录下学习的过程,期间可能加载着借鉴和转载的代码. 1.配置文件的设置: 新建config文件夹下 log4n ...
- JAVA小记(一)
java中向上转型.向下转型.内部类中所需注意的问题: 向上转型与向下转型: 举个例子:有2个类,Father是父类,Son类继承自Father. Father f1 = new Son(); / ...