JCEF的编译
来源:互联网 发布:C语言new 编辑:程序博客网 时间:2024/06/07 10:23
背景:
检索到的相关文章,很多都是官网的翻译,有的是自己的心路历程,我也记录下自己的心路历程.这里着重记录自己理解和跟随官网时遇到的问题.
cef:cef官网 个人理解:就是把chrome的内核提取出来给其他应用使用,.浏览器只是其的一种应用展示而已.虽然它来自浏览器
cef:源码下载:cef源码下载
jcef:jcef官网 用java代码对cef进行一层封装.
我不吐槽:虽然这三个官网都是直接可以访问的.jcef可以通过git下载 当然很慢.我把git的timeout设置成了3000s 但是重要的cef源码下载.却需要翻墙到美国(台湾也不行)
构建(编译JCEF):
网上流传着两种,大体相同,只是建议的构建工具不同:
1.通过GYP构建.这里我分享下 我同事给我的编译说明流程(谢谢黄冠同事)
编译JCEF3.1750版一、配置环境:(注意安装路径中不要有空格和特殊符号及中文,避免不要的麻烦) 1.安装Visual Studio 2013 2.安装JAVA JDK 1.7.0.72 3.安装python 2.6~2.7 配置好环境变量到python根目录(不能用3.0版) 4.安装GYP 配置好环境变量到GYP根目录【git库地址:https://chromium.googlesource.com/external/gyp】 5.下载cef地址:https://cefbuilds.com/#branch_1750【下载版本Windows 32bit CEF 3.1750.1805 (53MB)】(另外附上cef的git库地址:https://bitbucket.org/chromiumembedded/cef.git我们编译jcef不需要拿git库上的cef源码) 6.下载jcef源码,git库地址:https://bitbucket.org/chromiumembedded/java-cef.git (下载后将本地库Reset到f69ddc7:“Update to CEF version 3.1750.1738.”) 二、编译流程: 1.将下载好的cef目录下内容全部复制到jcef根目录下的“third_party\cef\win32”目录中。 2.打开cmd控制台cd到jcef源码的根路径下我的路径是“java-cef\src”。 3.输入指令: set GYP_GENERATORS=msvs set GYP_DEFINES=jcef_platform=win32 jdk_directory="C:\Program Files (x86)\Java\jdk1.7.0_72" (jdk_directory改成java实际的目录) 4.接着执行指令: gyp --depth=. jcef.gyp 5.到此jcef.sln文件生成完毕,可以通过vs2013打开并编译成jcef.dll及jcef_helper.exe了。
这里需要注意几点:
1.需要先安装python再在安装gyp. 因为安装后者需要前者命令. 这也是要把python安装目录放到环境变量中的原因. (安装python有设置环境变量的选项)
2.如果python版本很新的话 安装gyp时,需要先下载ez_setup.py
3.如果
你计划使用的jcef是在这次更新之后那就麻烦了 (上面提供的编译流程是在这之前). 因为src的目录没有了. 幸运的是jcef.gyp还是存在的是指放在了根目录. (你是否感受到了作者对于gyp方式的恶意)
然后在4个月之后,GYP 被抛弃,CMake被启用支持. 至于为什么要换? who know? 问作者吧. CMake估计比GYP更好用 更跨平台
结果就是 如果你想要使用这个节点之后的jcef源码 请抛弃gyp的方式.换cmake.这也是第二种编译方法.官方提供的方式
3.Cmake方式编译
官方方式:官方编译jcef的说明流程和上面的官网是一个地方.放弃了GYP用了CMake 代码的话通过git下载. 你可以通过Eclipse的git视图操作获取jcef的源码,也可以通过window下安装git来试下. 单个人建议使用前者.因为jcef版本存在和cef版本匹配的情况. 通过git视图调整源码要比命令行方便.
笔者下载cef:cef_binary_3.2556.1368.g535c4fb win32和为win64 jcef版本是 8dce678 Update to CEF version 3.2623.1395.g3034273 当然我更建议对应,
正如官网的建议2. Read the third_party\cef\README.jcef file to determine the required CEF3 release branch. Download the specified build of this branch fromhttp://cefbuilds.com.
但还不错,两个都是最新版 兼容了.
注意:在构建完jcef_build目录后,通过cmake的命令创建jcef.sln. 编译64位 VS版本为 "Visual Studio 14 Win64" 编译32位 VS版本为"Visual Studio 14 2015" 编译32位让我困惑了很久.原因是:他给出的参数提示:
提示: Win64 or ARM 实际也可以为空的 即[] 是可以为空的参数 也是我对于window下 参数提示不敏感.
发现这个主要是这篇博客提供的支持,注意CMake的截图: 一起学libcef
至此jcef.dll 和 jcef_helper.exe编译完成
- JCEF的编译
- JCEF编译过程
- jcef编译和demo运行
- jcef编译和demo运行
- 如何编译JCEF以及内嵌到桌面应用程序中
- Jcef应用浅析
- JS调用JCEF方法
- JCEF 如何修改右键菜单项(JCEF在右键菜单中添加开发者选项-show dev tools)
- curl 编译的记录,编译
- JAVA的动态编译和静态编译
- cygwin下编译ffmpeg ffserver的编译
- lua51的编译工程文件(VC71编译)
- luabind 0.8.1的编译(VC71编译)
- linux编译php的编译选项
- 静态编译与动态编译的区别
- Android编译,模块的编译和CLEAN
- ffmpeg编译时的编译选项说明
- Android编译环境的搭建和编译
- Construct Binary Tree from Preorder and Inorder Traversal (medium)
- JavaScript 加号操作符细节
- 面向对象设计原则
- 简单数据库连接池的原理
- Redis内存优化
- JCEF的编译
- html表单
- pthread_join/pthread_exit的用法解析
- 开源NFV管理器 - OpenStack Tacker介绍 - 2. Tacker DevStack安装配置和操作
- 创建型设计模式
- DataPicker 去掉日历 calendarViewShown="false" 失效解决方法
- Beyond Compare的几种实用功能
- leetcode 17. Letter Combinations of a Phone Number
- nmake chk一切正常 free会产生错误 error C2220: warning treated as error - no 'object' file generated