CEF Windows开发环境搭建

CEF,Chromium Embedded Framework的缩写。CEF 的官网介绍的很简洁:A simple framework for embedding chromium browser windows in other applications。具体地说就是一个可以将浏览器功能(页面渲染,JS 执行)嵌入到其他应用程序的框架。感兴趣的看这里:https://bitbucket.org/chromiumembedded/cef

用CEF的好处是开发Web和Native混合的应用非常方便,比调用Windows的ie组件要好得多,最起码可以随应用携带一个稳定版本的Chrominum,而ie版本太多,你的应用很依赖用户的操作系统,各种兼容性的坑……

花了大半天时间,终于跑通了cefsimple这个小示例。记录下过程。

工具

我的搭配:

我把CEF Binary for windows解压到了这个目录:D:\projects\cef_binary_3.2357.1271.g8e0674e_windows32,下文我们用CEFDIR来代替它。

现在的CEF Binary里没有VS项目和解决方案了,得自己生成。

环境配置与编译过程

cefsimple示例依赖libcef_dll_wrapper,需要先编译libcef_dll这个项目。

编译libcef_dll

  1. https://cmake.org/download/下载CMake 3.4.1(cmake-3.4.1-win32-x86.zip)
  2. 解压到某个目录,我这里是E:\software\cmake-3.4.1-win32-x86,后面有用 your-cmake-dir指代。打开命令行(cmd.exe),执行“set path=your-cmake-dir/bin;%path%”命令。
  3. 切换到CEFDIR/libcef_dll目录,执行“CMake .”命令,生成VS 2013的项目文件和solution文件
  4. 使用VS 2013打开CEFDIR/libcef_dll目录下的Project.sln,选中libcef_dll_wrapper这个项目,打开项目属性,设置C++附加包含目录,把CEFDIR目录添进去
  5. 选中libcef_dll_wrapper,鼠标右键,属性–>配置属性–>C/C++–>预处理器定义,编辑,新增一个NOMINMAX宏。这是为了解决std::min/std::max和VC全局定义的min/max宏冲突。libcef_dll里有些cc文件内用了std::min/max模板函数,不添加NOMINMAX,可能出现C2589和C2059错误
  6. Debug版本,运行库选择“多线程调试(MTd)”;Release版本选择MT。
  7. 编译,生成libcef_dll_wrapper.lib文件
  8. 把libcef_dll_wrapper.lib放到CEFDIR/Release(或Debug)目录下

我编译中遇到了一些错误,找到了解决办法,已经包含在上面的步骤里了。

编译cefsimple示例

有了libcef_dll_wrapper,就可以编译cefsimple了。

我本来想用CMake生成,结果折腾半天,CMake执行过了,却没生成对应的cefsimple.vcxproj……只好手动创建了一个VS项目。

过程如下:

  1. 自己创建一个cefsimple项目,Win32类型,空项目
  2. 将cefsimple_win.cc,simple_app.cc,simple_handler.cc,simple_handler_win.cc作为源文件添加到项目里
  3. 将resource.h,simple_app.h,simple_handler.h作为头文件添加到项目里
  4. 设置附加包含目录,把CEFDIR目录加进去
  5. 设置附加库目录,CEFDIR/Release(或Debug)
  6. 添加附加依赖项,把libcef_dll_wrapper.lib、libcef.lib、DbgHelp.lib加进去
  7. simple_app.cc中的www.google.com替换为www.baidu.com(Google打不开啊……)
  8. Debug版本,运行库选择“多线程调试(MTd)”;Release版本选择MT。注意这里的选择,和libcef_dll要一致,不然会出链接错误
  9. 把工作目录设置为CEFDIR/Release(或Debug)
  10. 编译运行

运行时可能会Crash,把CEFDIR/Resources目录下的内容拷贝到CEF/Release(或Debug)下即可。CEF需要里面的icudtl.dat、语言文件等。

运行效果如下图:

CEFDIR目录下有个README.txt文件,一定要看,我编译通过后运行总crash,在VS一点一点Debug、看程序输出,花了老长时间才发现时Resources的问题!



Ok,环境就这样好了,接下来可以研究CEF的SDK了。

时间: 2024-10-11 13:05:56

CEF Windows开发环境搭建的相关文章

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附详细代码] 标签: SparkECLIPSEJAVAMAVENwindows 2016-06-18 22:35 405人阅读 评论(0) 收藏 举报  分类: spark(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言 本文旨在记录初学Spark时,根据官网快速

Go语言-Windows开发环境搭建

由于实验室项目的需要,我今天开始学Go语言. 首先介绍Go语言开发环境的搭建,我的环境是在Windows下搭建,Go语言包推荐.msi安装包,我用的是go1.3.windows-386.msi ,原因很简单,.msi安装会自动配置环境变量,当然也可以用.zip包然后自己配置环境变量.IDE开发环境有两种选择:一是liteIDE,另一个是给eclipse下载goclipse插件.我选择的是liteIDE,下面我介绍下我今天搭建Go开发环境的小小经验总结... 1.下载Go语言安装包. 地址:htt

基于QT 5.7.0 for Android 的 Windows 开发环境搭建

基于QT 5.7.0 for Android 的 Windows 开发环境搭建 本文属于转载原文地址https://my.oschina.net/armsky/blog/740645 一.下载软件1.jdk:jdk-8u102-windows-i586.exehttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlhttp://download.oracle.com/otn-pub/ja

PyCUDA的Windows开发环境搭建

PyCUDA的开发环境搭建 PyCUDA需要python的Boost库和Numpy库(1.0.4以上),和CUDA开发环境(2.0以上). Windows64环境下所需要的包可以到以下网址直接下载, http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python. 另外PyCUDA还需要pytools库,而pytools库又需要six,appdirs,decorator这三个库,这三个库都可以通过easy_install工具直接安装,安装完这三个库

react-native for android windows开发环境搭建详细记录

先说说整个环境搭建的过程.上周开始要在windows上搭建react-native for android环境,当时按照找的教程,从git上clone master分支的代码,然后下载了node,安装react-native框架还是很顺利的. 导入到android studio上就无法构建,找找了找原因没有解决,折腾了1天没解决,在这之后也遇到很多问题,搭建过程还是比较曲折的,折腾了好几天才弄好.下面是我的详细安装过程. 搭建环境前的准备 开始安装react-native 创建react-nat

FFMPEG入门系列01-QT+FFMPEG4.0 Windows开发环境搭建

Windows环境搭建 FFMPEG官网:http://ffmpeg.org 4.0.2版本源码 源码:<https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2> 4.0.2编译好的文件 下载已经编译好的FFMPEG 网址:https://ffmpeg.zeranoe.com/builds/ 32位下载地址: Shared:包含FFMPEG的dll库文件 <https://ffmpeg.zeranoe.com/builds/win32/share

react native windows开发环境搭建(一)

ReactNative分为服务器端和手机端loader程序,Android版有3种代码:js代码,java代码和c++代码,主要是编写的是js代码,如果框架功能不足就需要编写原生的java代码来扩展,c++代码主要和js引擎有关,一般很少用到. 首先安装node.js服务器端,到node.js的网站上下载node.js然后安装上就可以了.https://nodejs.org/en/ 安装git,在执行命令的时候,需要通过git到github上去下载相关的文件. 下载地址如下:http://www

python的windows开发环境搭建

1.在python官网下载python的安装包,区分32位和64位系统. 2.安装后,默认是c盘,在windows环境变量中配置python的安装目录. 3.配置后,在f盘建立一个文件夹learnpython,新建一个文件,helloword.py. 4.编辑文件,写入代码: print ("Hello World") 5.执行:

react native windows开发环境搭建(二)

上一篇中介绍了本地服务器端环境的安装,使用已经编译好的apk程序,设置ip地址,就可以看到welcome界面,并且可以对程序做出修改以及调试. 为了扩展和发布应用 还需要能编译loader程序,这里介绍如何编译loader程序,实际上就是编译Android程序. ReactNative生成的项目是采用grader编译,eclipse无法编译,需要使用命令行或者导入android studio或者IntelliJ IDEA,这里将项目导入android studio. 1.首先如果没有安装jdk,