VS2017编译libcef 2623_20181107完成

13 篇文章 0 订阅

 

为什么使用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.bz2
 
set GYP_GENERATORS=ninja,msvs-ninja
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*

 
set WIN_CUSTOM_TOOLCHAIN=1

set VS_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2017

set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10

D:\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 main
    shutil.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 copyfile
    with 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

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值