自行编译jcef过程中遇到了一些问题,现在记录如下。

参考的主要文章是jcef的官方介绍:

https://bitbucket.org/chromiumembedded/java-cef/wiki/BranchesAndBuilding

需要准备好以下环境:

1、python 2.6

2、git

3、visual studio 2015

4、cmake 2.8以上

5、java 1.7以上

主要流程:

1、git clone源码

# The JCEF source code will exist at `/path/to/java-cef/src`
cd /path/to/java-cef
git clone https://bitbucket.org/chromiumembedded/java-cef.git src

注意,/path/to/指的是你的制定目录,不要有中文

2、执行cmake生成vs的sln项目文件

cd /path/to/java-cef/src

mkdir jcef_build && cd jcef_build

cmake -G "Visual Studio 14 Win64" ..
"Visual Studio 14 Win64"这个是CMAKE需要执行的生成器参数,如果不对,自己根据提示更改
比如改成 Visual Studio 2015,之类。 注意,cmake执行过程中会从google storage下载clang-format,这玩意儿其实是不需要的。
解决方式有两个:
1、挂VPN
2、打开src下的CMakeLists.txt文件,找到以下代码,像我一样,用#注释掉
#message(STATUS "Downloading clang-format from Google Storage...")
#execute_process(
# COMMAND "${PYTHON_EXECUTABLE}"
# "tools/buildtools/download_from_google_storage.py"
# "--no_resume"
# "--platform=${GS_PLATFORM}"
# "--no_auth"
# "--bucket" "chromium-clang-format"
# "-s" "tools/buildtools/${GS_HASHPATH}"
# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
# RESULT_VARIABLE EXECUTE_RV
# )
#if(NOT EXECUTE_RV STREQUAL "0")
# message(FATAL_ERROR "Execution failed with unexpected result: ${EXECUTE_RV}")
#endif()
3、用VS打开生成的jcef.sln文件
选择build -> Configuration Manager,把“active solution configuration”改成"Release
然后选择编译解决方案 需要注意的问题:
1、 编译报错,warning LNK4272: 库计算机类型“x64”与目标计算机类型“X86”冲突,64位操作系统打算编译x64的jcef时,目标计算机指定了x86。
这个问题目测是jcef部分版本的bug,未来应该会修复
右键jcef项目
属性->链接器->高级,修改目标计算机为x64 属性->链接器->所有选项,修改服下选项为x64

右键libcef_dll_wrapper项目

属性->c/c++->所有选项->附加包含目录 改成windows64,需要注意,必须有cef64位包

window下编译jcef的更多相关文章

  1. 在Window下编译LibGeotiff(含Libtiff)

    核心提示:1.GeoTiff简介 GeoTiff是包含地理信息的一种Tiff格式的文件. 1.GeoTiff简介 GeoTiff是包含地理信息的一种Tiff格式的文件.Libgeotiff就是一个操作 ...

  2. Windows下编译jcef

    依赖软件参考 本文参考官方网站上的jcef编译过程 编译成功的环境如下: windows 10 64 bit JDK 1.8.0_121 64 bit Python 2.7.13 git versio ...

  3. caffe 在window下编译(windows7, cuda8.0,matlab接口编译)

    1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013 (ps:老板说服务器要装windows系统,没办法,又要折腾一番,在VS下编译好像在cuda8. ...

  4. window下编译并使用google protobuf

    参考网址: http://my.oschina.net/chenleijava/blog/261263 http://www.ibm.com/developerworks/cn/linux/l-cn- ...

  5. window下编译ffmpeg 比较简单

    网上关于编译ffmpeg的帖子很多,我也尝试了很多次,但是很多都过不了,一部分原因是版本问题,还有就是有的路劲没说的太明白导致的,经过一天的摸索,最终编译好了,下面把编译方式写下来,希望对看到帖子的人 ...

  6. window 下编译cef 内核 加入mp3/mp4 支持

    下载 depot_tools 解压,加入到环境变量 进入cmd(管理员)运行 gclient 获取 python和git,svn,设置python环境变量 创建新文件夹 mkdir chromium ...

  7. window下编译ffmpeg

    网上关于编译ffmpeg的帖子很多,我也尝试了很多次,但是很多都过不了,一部分原因是版本问题,还有就是有的路劲没说的太明白导致的,经过一天的摸索,最终编译好了,下面把编译方式写下来,希望对看到帖子的人 ...

  8. Window下Latex加速编译方法以及西农毕设论文模板推荐

    近些日子用Latex写了一遍文章,一共有11页,但是在window下编译需要2分多的时间,使用的是xeletex编译器. 经过查找,得到了以下方法: 如果坚持使用windows下的latex,使用以下 ...

  9. [转]linux下编译boost.python

    转自:http://blog.csdn.net/gong_xucheng/article/details/25045407 linux下编译boost.python 最近项目使用c++操作python ...

随机推荐

  1. WPF 定义Command

    直接上代码: public class LoginDelegateCommand : ICommand { private Action _execute; private Predicate< ...

  2. JavaScript单线程和异步机制

    随着对JavaScript学习的深入和实践经验的积累,一些原理和底层的东西也开始逐渐了解.早先也看过一些关于js单线程和事件循环的文章,不过当时看的似懂非懂,只留了一个大概的印象:浏览器中的js程序时 ...

  3. cmder中文乱码、文字重叠等问题

    对于玩linux的同学来说,win7中的cmd弱爆了,今天我在微博中看到cmder这个工具,自己安装了,觉得不错,就此分享给大家 下载安装到这里http://bliker.github.io/cmde ...

  4. pytesser3 使用说明

    需要环境 Python3.x以上 需要安装PIL以及tesseract-ocr引擎.点我下载tesseract-ocr引擎 如何使用 1. pip install pytesser3 如图:   [可 ...

  5. B20J_2836_魔法树_树链剖分+线段树

    B20J_2836_魔法树_树链剖分+线段树 题意: 果树共有N个节点,其中节点0是根节点,每个节点u的父亲记为fa[u].初始时,这个果树的每个节点上都没有果子(即0个果子). Add u v d ...

  6. Linux下可以ping ip地址但无法ping域名解决方法

    分析:当前系统无法解决域名至ip地址故障. 步骤阅读 2 三:解决过程: 1.分析dns故障: 2.物理机可以ping 地址,但无法ping域名: 3.检查/etc/resolv.conf: 注: ( ...

  7. 显著性检测(saliency detection)评价指标之sAUC(shuffled AUC)的Matlab代码实现

    AUC_shuffled.m function [score,tp,fp] = AUC_shuffled(saliencyMap, fixationMap, otherMap, Nsplits, st ...

  8. 优化:mysql查询最近一条记录

    下策--查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36" order by ...

  9. 事务处理中如何获取同一个connection 对象

    运用线程内部的map属性,将对象绑定到ThreadLocal中: 具体实现: 1.新建一个绑定Connection对象的单例类 public class ConnectionBind { privat ...

  10. 死磕 java集合之DelayQueue源码分析

    问题 (1)DelayQueue是阻塞队列吗? (2)DelayQueue的实现方式? (3)DelayQueue主要用于什么场景? 简介 DelayQueue是java并发包下的延时阻塞队列,常用于 ...