从chrome源码到xilium.CefGlue集成注意事项

来源:互联网 发布:linux如何创建文件夹 编辑:程序博客网 时间:2024/05/19 16:02


一、编译chrome让其支持mp4
这个地址里面有必须的编译条件介绍.
https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md
要点如下:
1.设置系统区域为英语(美国)。控制面板-区域-管理-更改系统区域设置-英语(美国)
2.当前新版仅支持vs2015 update2编译。
3.至少win7 64 或者更高版本
cef.gypi,在不理解配置的关联编译,建议别随便禁止任何模块,会引起连锁编译错误。

开启以下:

 'proprietary_codecs': 1,
    'ffmpeg_branding': 'Chrome',
third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h原有配置增加以下:
--enable-decoder='rv10,rv20,rv30,rv40,cook,h263,h263i,mpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,amrnb,amrwb,ac3,flv' --enable-demuxer='rm,mpegvideo,avi,avisynth,h263,aac,amr,ac3,flv,mpegts,mpegtsraw' --enable-parser='mpegvideo,rv30,rv40,h263,mpeg4video,ac3'
chrome加入mp4支持可
参考
1.http://www.cnblogs.com/himax/p/how_to_build_cef3_on_windows_2704.html
http://blog.csdn.net/hns707/article/details/45390387
2.http://www.cnblogs.com/hezhixiong/p/5935143.html
3.http://www.mamicode.com/info-detail-1026791.html


二、编译chrome出现的各种故障和解决汇总
1.无法识别的符号_ff_w64_guid_data
解决错误:无法识别的符号_ff_w64_guid_data
#修改chromium/third_party/ffmpeg / ffmpeg_generated.gypi
#在行'libavformat/vorbiscomment.c',后加入
'libavformat/w64.c',


2.egl语法错误
#解决egl语法错误
#修改h:\ws\source\chromium\src\third_party\swiftshader\include\egl\eglext.h
#在62行后加入
typedef EGLAttribKHR EGLAttrib; 


3.ACTION Copying D3D Compiler DLL错误
系统环境变量windows_sdk_path改到"C:\Program Files (x86)\Windows Kits\8.1"(8.0是之前编译36版本的)。
命令行编译前设置set  GYP_DEFINES=windows_sdk_path="C:\Program Files (x86)\Windows Kits\8.1"


4.gl_bindings_skia_in_process.cc(684) : error C2679: binary '=' : no operator found which takes a right-hand operand of ty
pe 'overloaded-function' (or there is no acceptable conversion)
解决:gl_bindings_skia_in_process.cc和 gl_bindings_skia_in_process.hh已经死代码了。ui/gl/BUILD.gn和gl.gyp去除这两个引用详见https://codereview.chromium.org/1673323002

5.d:\chrome\ws\source\chromium\src\cef\libcef\browser\browser_host_impl.cc(666): error C2039: "PrintNow": ??"printing::PrintViewManager"???
d:\chrome\ws\source\chromium\src\cef\libcef\browser\printing\print_view_manager.h(23): note: ??"printing::PrintViewManager"???

查找gyp文件,把print_view_manager_base.h和print_view_manager_base.cc,放到print_view_manager.h和print_view_manager.cc前面


三、cef3 build下载和编译
https://cefbuilds.com/
编译出现问题
问题1 LINK : fatal error C1007: unrecognized flag '
解决:官方介绍,/Zc:inline选项可以去除该错误,vs2013update2起支持,
本人升级到vs2013 update5,编译通过。
问题2.无法解析的外部符号 _GetFileVersionInfoW@16
解决:配置属性-链接器-输入-附加依赖项增加version.lib
问题3.xp不支持
解决:配置属性-常规-平台工具集-设置Windows XP (v120_xp).


四、xilium.cefglue集成
1.下载和安装sourcetree
查看xilum.cefglue的commit提交,找到需要的版本,用sourcetree下载和cef3.bin一致的版本。


0 0
原创粉丝点击