背景

因为项目需要在客户端中内嵌浏览器,需要支持 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的执行环境加入到环境变量中;

下载源码

编译

  • 编译前需要保证磁盘空间至少 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

后续会把 vs2015 32位 环境下编译好的版本发上来,可以直接使用。

如果有问题可以加 QQ 群讨论,群号:599320555

转载请注明来自博客园 TerryHe 的微博 https://www.cnblogs.com/luckbird/p/CEF_2623_Compile.html

几篇参考文档

Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤的更多相关文章

  1. 我的第一个RootKit,支持XP、Vista、Win7、Win8 RTM 32位

    只有写过一个BootKit,才能比较深刻的理解其整个过程与机制,也能加深对Windows系统引导各个过程的熟悉和理解. 我写的这个bootkit,暂时还没想到一个比较好的名字,它 1.  支持xp到w ...

  2. 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序 good(从VS2012 update1开始支持xp和c++11)

    一.直接使用VS2012/VS2013/VS2015生成XP兼容的可执行程序 Visual Studio刚发布时没打补丁,称为RTM版,之后会陆续发布补丁,进行bug修复和功能增强.VS2010及之前 ...

  3. 关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问

    最近为 aioserver 增加了ssl支持. 在 myssl.com 上测试了一下,关于[客户端握手模拟]发现 ie8 xp tls1.0  这一项提示:握手失败 (服务器断开连接) 我又试了一下 ...

  4. Reg2Bat_By Slore(生成同名bat文件,支持XP WIN7 WIN7X64).vbs

    原文http://slore.blogbus.com/logs/52627038.htmlSlore编写的这个reg文件转换为bat文件,是逐句转换的,不是通过批处理生成临时reg文件然后导入的方法, ...

  5. Qt5.5.0在Windows下静态编译(修改参数以后才能支持XP)good

    测试系统环境: windows 7 编译软件环境: vs2013 + QT5.5.0 [源码地址:http://download.qt.io/official_releases/qt/5.5/5.5. ...

  6. 编译 Qt 5.6(使QtWebEngine支持XP)

    说明 qt 5.6的编译进行了数十遍,才得出本文的可行方案,之所以花了这么多的时间,主要是qt引入了QtWebEngine模块后,导致编译难度直线上升,而且又有一些中国特色的问题(如360安全卫士)导 ...

  7. 官方发布的新版本Qt已经不支持XP了,要自己从源代码编译

    官方发布的新版本Qt已经不支持XP了,要自己从源代码编译,编译选项里有个-target项,用来提供XP支持的,编译时加上-target xp就可以了 http://www.qtcn.org/bbs/r ...

  8. 让VC2012生成的程序支持XP系统(QT的DLL都是支持XP的,只与EXE有关)

    如果用的编译器是VC2012以上,那么默认生成出的程序是不能运行在XP系统上的.所以需要修改链接参数 我们要做的是修改qmake.conf文件中的参数,文件路径根据开发环境不同而不同下面以5.1.1 ...

  9. JZ2440专用dnw 支持xp、win7、win8和win10系统【转】

    本文转载自:https://blog.csdn.net/czg13548930186/article/details/76999152 学习于韦东山百问网公司 本文用于解决win7以上系统使用dnw难 ...

随机推荐

  1. IPV6相关RFC文档

    1. 通用 IPv6的通用RFC和Internet草案 RFC# 类 标题 1752 标准记录 对IP下一代协议的建议 1924 资料 IPv6地址的压缩表示法 2851 标准记录 Internet网 ...

  2. how to use webpart container in kentico

    https://docs.kentico.com/k11/developing-websites/developing-websites-using-the-portal-engine/using-w ...

  3. CodePlus 2017 12 月赛

    这场比赛跟个zz一样 div1卡在了同余方程上 心态崩了去做div2 然后被T1搞崩了 T1: 大模拟 比较像配平方程式 思路: 但是未知物质每种元素系数不能≥10 且不能为空 (如CO2+?=CO2 ...

  4. 【POJ 2259】 Team Queue

    [题目链接] http://poj.org/problem?id=2259 [算法] 由题,一个人入队时,若这个人所在的组已经有人在队列中,则加入队列,否则排到队末 因此我们发现,这个队列一定是由连续 ...

  5. JQuery 总结

     JQuery官方网站 http://jquery.com/ 1.JQuery概念 A.Jquery是一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器,jQu ...

  6. 自定义滚动条配合鼠标滚轮demo

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  7. Golang 入门 : goroutine(协程)

    在操作系统中,执行体是个抽象的概念.与之对应的实体有进程.线程以及协程(coroutine).协程也叫轻量级的线程,与传统的进程和线程相比,协程的最大特点是 "轻"!可以轻松创建上 ...

  8. jquery实现图片预加载提高页面加载速度

    使用jquery实现图片预加载提高页面加载速度和用户体 我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题 呢?首 ...

  9. Vue项目中如何使用less(添加less依赖)

    今天在新工程里添加了一段样式代码代码突然报错了: <!-- Add "scoped" attribute to limit CSS to this component onl ...

  10. css为什么叫层叠样式表

    ------------------------------------------------------------------------------------ 层叠就是浏览器对多个样式来源进 ...