从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一致的版本。
- 从chrome源码到xilium.CefGlue集成注意事项
- Xilium.CefGlue
- xilium.cefglue错误记录
- Xilium.CefGlue CEF3 备忘
- Xilium CefGlue 的评选与介绍
- CEF Xilium.CefGlue 防止浏览器闪退
- 为xilium.cefglue查找匹配版本的CEF3(Windows OS)
- 关于Xilium.CefGlue(CEF3) 加载mp4格式失败
- Xilium.CefGlue与CEF库的版本匹配关系
- CEF Xilium.CefGlue 在当前窗口中打开所有链接(防止弹窗)
- Hbase集成到Hadoop的一些注意事项
- JMeter源码集成到Eclipse
- JMeter源码集成到Eclipse
- JMeter源码集成到Eclipse
- 项目从windows迁移到linux注意事项
- 从PHP5到PHP7的注意事项
- 【Spring Boot】 从入门到熟练,从简介到集成
- 从持续集成到持续发布
- 扩展ElasticSearch:实现分片并可用于存储亿万文档的实践
- nodejs简介
- 入职必备,Android 真实面试题(内有答案)
- linux网络编程之TCP/IP基础(二):利用ARP和ICMP协议解释ping命令
- 遗传算法解一道笔试题
- 从chrome源码到xilium.CefGlue集成注意事项
- Java代码规范总结
- linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由
- Clojure介绍、安装和语法
- linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口
- 划分无冲突子集问题
- 【分享】10个帮你修图+剪辑视频+PPT制作的网站
- Android 自定义进度条
- linux网络编程之TCP/IP基础(五):分析一帧基于UDP的TFTP协议帧