源码编译CEF3
来源:互联网 发布:数学必修三编程软件 编辑:程序博客网 时间:2024/06/01 07:53
这段时间对CEF3比较感兴趣,就想从他的源码开始从头编译下,看了CEF编译指南就开始了,因为我之前就搭建好了chromium的编译环境。不懂得童鞋可以参考google
的chromium编译指南,我使用的是CEF的自动工具automate;
这里我记录几个要注意的地方
1、为了在中文环境下执行CEF的 automate.py tool,在cygwin下设置LANG=C
export LANG=C
2、在你的/path/to/your cygwin/home/username/.gyp下建立一个include.gypi的文件,大致内容如下:
{'variables': {'windows_sdk_path' : 'D:\Program Files (x86)\Windows Kits\8.0', 'proprietary_codecs': 1, 'ffmpeg_branding':'Chrome'}}
3、export GYP_MSVS_VERSION="[2010|2008]"
4、当自动工具下载完chromium的代码后,在src目录下建立一个文件chromium.gyp_env,大致内容如下:
{'GYP_DEFINES': 'windows_sdk_path="D:\Program Files (x86)\Windows Kits\8.0"'} # use space to delimit additional defines注意CEF不支持组件编译
这样基本按照CEF的编译指南就没什么问题了。
这里插个小插曲,本人按照上面的环境编译CEF3(手工运行了gclient runhooks等)没有问题,可回过头来再在上面的环境中设置运行编译chromium时,比如在包含src目录下运行gclient runhooks,打开chrome.sln解决方案时,会遇到 :vs2010 error LNK1201: 写入程序数据库“F:请检查是否是磁盘空间不足、路径无效或权限不够的错误,主要是在编译chrome_main_dll工程时遇到,后来google了下,说是没有设置组件编译的缘故,也就是在.include.gypi文件中,没有设置component=shared_library的缘故,才知道为何缘故,因为CEF3不支持component=shared_library的编译,马上添加该项,运行gclient runhooks(或者:
。看看效果如何。
ok,测试成功!
5、问题解决:
如果在cygwin环境中出现cef_create_project.sh不能正确生成CEF项目文件时,可以在windows的cmd环境中执行cef_create_project.bat
如果出现运行python脚本出现get_svn_info的问题,可能是svn_util.py的脚本问题,把其中的svn.bat改成svn试试,在25行左右
rev = 'None' if path[0:4] == 'http' or os.path.exists(path): try: if sys.platform == 'win32': # Force use of the SVN version bundled with depot_tools. svn = 'svn' else: svn = 'svn' p = subprocess.Popen([svn, 'info', '--xml', path], \
6、使用ninja和msvs的共存编译环境
export GYP_GENERATORS=ninja,msvs
7、ffmpeg的自定义编译:
build your ownAlternatively, if you are building node-webkit, open src/third_party/ffmpeg/chromium/scripts/build_ffmpeg.sh, go to (approximately, might change) line 379 and change# Google Chrome & ChromeOS specific configuration.add_flag_chrome --enable-decoder=aac,h264,mp3add_flag_chrome --enable-demuxer=mp3,movadd_flag_chrome --enable-parser=aac,h264,mpegaudioToadd_flag_common --enable-decoder=aac,h264,mp3add_flag_common --enable-demuxer=mp3,movadd_flag_common --enable-parser=aac,h264,mpegaudioThen follow the short directions here: http://src.chromium.org/svn/trunk/deps/third_party/ffmpeg/README.chromiumPlease also at least turn on the resource loader's support in Chromium's code, or your format will be treated as non supported MIME type and won't be loaded. See src/net/base/mime_util.cc. You might want to look into code in other files guarded by 'USE_PROPRIETARY_CODECS' macro.
如果生成项目文件后还出现编译问题,比如dllimport问题,应该是环境的问题,比如GYP_DEFINES设置不对,特别要注意CEF不支持component=shared_library的编译
以上是我编译CEF经常遇到的问题,希望对大家有帮助
- 源码编译CEF3
- win7源码编译cef3.2743
- CEF3 源码的下载和编译
- 编译CEF3:VS2015+CEF3.3202
- CEF3:Windows下用VS2015编译CEF3
- VC2012编译CEF3
- VS2010编译CEF3源代码
- 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持
- cef3编译记录经典资料
- win10-vs2015编译cef3.2023
- 在Windows下编译Cef3.2623并加入mp3、mp4支持(附带源码包和最终DLL)
- cef3.xp兼容编译的一个大坑
- cef3 2704版本 使用VS编译
- cef3 Binary Distributions下载及示例编译
- 编译最后一个支持XP的CEF3(v2623)
- CEF3:CEF3关闭流程
- CEF3:CEF3多进程
- CEF3入门
- Android Studio 如果修改LogCat的颜色,默认全是黑色看着挺不舒服的
- Mybatis 分页查询
- Python的Distutils模块
- poj The Pilots Brothers' refrigerator(DFS)
- 基于Struts2的文件上传
- 源码编译CEF3
- C#随机产生10位大写字母的字符串
- getDateStr,Date类型,转化,日期
- java 改变窗体状态(最大化、最小化、正常)
- 找不到 System.Windows.Ria的解决办法
- 文件被多个中间文件输出目录相同的工程包含
- 基于opencv的手势识别
- H.264学习(一)——帧和场的概念(zz)
- spket插件的安装与使用完整图文版