为什么使用VS2017编译?

因为VS2017更强大,编译速度更快,C++支持性最好。

VS2013无法编译libcef2623,C++新语法部分不支持,需要安装sp4补丁。

方便与其他VS2017项目整合。VS2017编译完的lib,测试VS2013,VS2015也能使用使用。

已经有编译过Chrome,libcef的经验和多年的编译经验判断,VS2017是更好的选择。

cef2623版本说明,官方最后一个支持xp的,源码数在12000左右。(添加mp3,mp4编译通过)

cef3202版本说明,官方最后一个支持VS2015U3的,源码数在32000左右。(添加mp3,mp4编译通过)

1、下载 automate-git.py

https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py

2、下载源码

python automate-git.py --download-dir=D:\chromium\source --branch=2623 --no-build --no-distrib --force-clean

运行后下载,开始自动下载cef,chromium,depot_tools

下载depot_tools到D:\chromium\source\depot_tools下载cef到D:\chromium\source\cef下载chromium到D:\chromium\source\chromium

全部下载完毕需要20G以上的控件,大部分时间在下载D:\cef2623\chromium\src\third_party

3、打开chromium\src\build\common.gypi,搜索10.0.10240.0替换为 10.0.17134.0

4、编译脚本

set CEF_USE_GN=0
set GN_DEFINES=is_official_build=true ffmpeg_branding=Chrome proprietary_codecs=true
set GYP_DEFINES=buildtype=Official
set GYP_MSVS_VERSION=2017
set CEF_ARCHIVE_FORMAT=tar.bz2set GYP_GENERATORS=ninja,msvs-ninja
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*set WIN_CUSTOM_TOOLCHAIN=1set VS_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2017set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10D:\cef2623\depot_tools\win_tools-2_7_6_bin\python\bin\python.exe D:\cef2623\automate-git.py --download-dir=D:\cef2623 --branch=2623 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build

5、编译生成的skia、pdfium

6、gperf.exe错误

gperf.exe加入到path

cd D:\cef2623\chromium\src\third_party\WebKit\Source\platform\

gperf.exe "--key-positions=*" "-D" "-s" "2" "ColorData.gperf" >ColorData.cpp

复制ColorData.cpp到D:\cef2623\chromium\src\out\Release\gen\blink\platform\ColorData.cpp

打开D:\cef2623\chromium\src\out\Release\obj\third_party\WebKit\Source\platform\make_platform_generated.ninja

修改为

在我的CSDN资源有这个文件下载

7、libcmt 问题,这个问题发了好长时间才解决,特别说明下

VS2015,VS2017不支持脚本chromium\src\base\allocator\prep_libc.py

[15/42] ACTION libcmt: libcmt_1f6442be6c83cd3f76ccf7a8626eb14a
FAILED: gen/allocator/libcmt.lib
D:\cef2623\depot_tools\win_tools-2_7_6_bin\python\bin\python.exe gyp-win-tool ac
tion-wrapper environment.x86 libcmt_target_libcmt_1f6442be6c83cd3f76ccf7a8626eb1
4a..rsp ..\..\base\allocator
Traceback (most recent call last):File "prep_libc.py", line 87, in <module>sys.exit(main())File "prep_libc.py", line 62, in mainshutil.copyfile(os.path.join(vs_install_dir, 'libcmt.lib'), output_lib)File "D:\cef2623\depot_tools\win_tools-2_7_6_bin\python\bin\lib\shutil.py", li
ne 82, in copyfilewith open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'C:\\Program Files (x86)\\Microsof
t Visual Studio\\2017\\VC\\lib\\libcmt.lib'

解决方法

将替换函数设置为空

  cobjfiles = []cppobjfiles = []

8、编译过程动画

9、启动cefclient,显示 Page failed to load.

URL: https://www.google.com.hk/?gws_rd=cr,ssl
Error: UNKNOWN (-150)
X.509 Certificate Information:

原因:证书验证错误

解决方法添加启动参数 --ignore-certificate-errors

10、xp下测试

11、专业解决各类问题,有问题的可以在评论留QQ

VS2017编译libcef 2623_20181107完成相关推荐

  1. vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...

    摘要:本文介绍了Win7 64位环境下OpenCC(Open Chinese Convert) 1.0.4源码编译全过程,除VS2017外,VS2013以上版本也应该基本同样适用,其他版本的Windo ...

  2. Windows10上使用VS2017编译MXNet源码操作步骤(C++)

    MXNet是一种开源的深度学习框架,核心代码是由C++实现.MXNet官网推荐使用VS2015或VS2017编译,因为源码中使用了一些C++14的特性,VS2013是不支持的.这里通过VS2017编译 ...

  3. windows 平台使用 VS2017 编译 libevent 源码

    一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...

  4. vs2017运行显示系统找不到指定的文件_windows 平台使用 VS2017 编译 libevent 源码

    一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...

  5. 使用VS2017编译sqlite和在VS2017中配置使用sqlite的简单例子演示

    转自:http://blog.csdn.net/hyxiaohaiyang/article/details/7382551 知识补充: sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必 ...

  6. vs2017运行yolov4_YOLOv4 C vs2017 编译

    目录 先感谢yolov4的贡献者们 1.下载darknet源码 2.安装好CUDA.CUDNN和opencv CUDA:10.0 CUDNN:7.4.1 opencv:3.4.2 或者4.3.0版本都 ...

  7. 关于VS2017编译UE4项目,输出窗口有乱码的解决方案

    关于VS2017编译UE4项目,输出窗口有乱码的解决方案 参考文章: (1)关于VS2017编译UE4项目,输出窗口有乱码的解决方案 (2)https://www.cnblogs.com/ZhengJ ...

  8. win10 VS2017编译Audacity详细教程

    win10 VS2017编译Audacity详细教程 安装Visual Studio2017和git,这里不详细叙述,网上很多教程. 配置wxWidgets a.官网下载地址http://www.wx ...

  9. 解读帖子:结构化编译器前端 Clang 介绍(VS2017编译clang)

    因为需要提取出头文件或源文件的函数名列表和相应的函数参数类型,我想从已有的编译器中寻找函数调用,于是我找到了--结构化编译器前端 Clang 介绍 这个贴子折腾了我很久(还有几个开源项目我也没有搞定) ...

  10. vs2017编译iconv

    本人目前在windows下使用ffmpeg,需要添加fontconfig,而fontconfig依赖iconv:故而需要用vs2017编译iconv静态库,64位版本. 本人参考了博客:windows ...

最新文章

  1. Linux 进程及进程之间的通信机制——管道
  2. 【原创】【专栏】《Linux设备驱动程序》--- LDD3源码目录结构和源码分析经典链接
  3. 凭运气接来的项目,怎样凭本事搞砸?
  4. oracle备份表和数据
  5. c语言case label,an enum switch case label must be the unqualified name of an enumeration constant
  6. javascript操作cookie实例
  7. Java I/O系统之OutputStream
  8. 戴口罩人脸数据集和戴口罩人脸生成方法
  9. 【原创】不如预想的精彩—读《别闹了,费曼先生》
  10. 换一种姿势:利用 PdaNet+ 实现电脑共享手机的流量
  11. 解决0xc00d5212
  12. App 抓包工具一(Charles)
  13. java实现电话的呼叫转移_「呼叫转移设置」呼叫转移流程分析(一) - seo实验室...
  14. jmeter实现手机号归属地接口测试案例
  15. linux密码weak,linux中__weak关键字
  16. 五千字!详细解读链家「难而正确的事」
  17. JAVA 用户登录图形验证码
  18. 8086微处理器的寄存器
  19. 谷歌浏览器调试前端功能时的三种刷新方式
  20. 1527.患某种疾病的患者

热门文章

  1. 无版权,全免费,请收藏这10个免费高清无权素材网站
  2. 没有基础怎么自学渗透测试工程师?
  3. ad中按钮开关的符号_收藏:电路图形符号大全
  4. Hadoop与Spark等大数据框架介绍
  5. lincese oracle_关于Oracle数据库企业版的license价格
  6. Surface Pro 7 综合评测——购买感受和使用重点【品控、性能、投影】
  7. Mac读写NTFS移动硬盘
  8. WPF实现截图功能——WPF制作文字OCR软件(三)
  9. MATLAB等值线绘制
  10. 用计算机算e的平方为什么显示错误,计算器中出现的E是什么意思?