背景

因为项目需要在客户端中内嵌浏览器,需要支持 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. android自己定义之 5.0 风格progressBar

    近期做项目,用到了ProgressBar .就想到了要使用Android5.0 的效果,就随手实现了一下. 效果图: 大概的思路: 1. 圆圈通过Canvas去绘制 2.圆圈的动画通过Animator ...

  2. 寒城攻略:Listo 教你用 Swift 写IOS UI 项目生活记事本

    刚才用 Swift 写了一个记事本的应用,仅仅是简单的 UI 方向的开发,先来上产品的界面: 如今 Listo 给分享源码: 共同进步,开源中国.转载请声明出处

  3. XHR ajax

    谷歌搜索xhr site:cnblogs.com https://www.cnblogs.com/xiaohuochai/p/6036475.html 在Chrome的network监视中,类型为XH ...

  4. bzoj 2465 小球

    题目大意: 给定n个不同颜色的球,每个球都有一个分数,同时有m个瓶子,每个瓶子都有固定的容量 必须把球放到瓶子里面 计算最多能放多少个球到这些瓶子里 思路: 开始想的是费用流 超级源向每个球连一条 容 ...

  5. Spark SQL中 RDD 转换到 DataFrame

    1.people.txtsoyo8, 35小周, 30小华, 19soyo,882./** * Created by soyo on 17-10-10. * 利用反射机制推断RDD模式 */impor ...

  6. FSDataInputStream对象 读取数据

  7. shell脚本-高级变量

    shell脚本-高级变量 字符串变量切片 ${#var}: 返回字符串变量var的长度 ${var:offset}: 返回字符串变量var中从第offset个字符后(不包括第offset 个字符)的字 ...

  8. $(document).ready 与 window.onload的区别?

    $(document).ready  = function(){}; DOM树加载完成时执行,此时文件不一定都已加载完成. window.onload = function(){}; DOM树加载完成 ...

  9. P3390矩阵快速幂

    题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格式: 输出A^k ...

  10. git配置用户信息

    git配置用户信息 一.在本地配置用户信息 配置内容:user.name 和 user.email 配置目的:Git用来记录谁做了什么事 配置方法:windows下打开Git Bash进行操作  gi ...