CEF C++环境搭建

第一步:下载CEF

到这里下载最新版本的CEF

http://cefbuilds.com/

下载解压之后,大概会看到如下图所示的文件

cefclient:是一个比较复杂的示例代码cefsimple:是一个简单的示例代码Debug:是用于调试的库include:是一系列的头文件libcef_dll:里面的代码是对libcef.dll的包装Release:是用于发布的库Resources:是必要的资源文件其他文件暂时就不一一解释了。

第二步:编译工程

用VS打开程序,开始编译

如果你需要调试程序,那么就选择Debug,如果你要发布,那么就选Release

(此编译过程主要是为了编译libcef_dll_wrapper,编译之后在\out\Debug\lib目录下会看到编译的DLL,以后步骤会用到)

第三步:新建工程

第四步:写代码

把cef_binary_3.1921.1661_windows32\cefsimple目录(注意是拷贝文件夹)拷贝到新工程下

并包含在项目中

示意图(一)

示意图(二)

第五步:拷贝支撑文件

在新工程所在目录下,新建一个dll文件夹

把Debug目录下的文件全部拷贝到该文件夹下

把resource目录下的文件全部拷贝到该文件夹下

把include文件夹拷贝到该文件夹下(注意是拷贝文件夹)

把out\Debug\lib\libcef_dll_wrapper.lib文件拷贝到该文件夹下

 (如果你要发布你的应用程序了,那么你就应该拷贝相应的release目录下的文件)

第五步:设置工程环境

(这一步是我后补的)

增加的两个附加包含目录

D:\my\myoffice\MO2\MO2; D:\my\myoffice\MO2\MO2\dll;

文本框中的内容如下

_DEBUG V8_DEPRECATION_WARNINGS BLINK_SCALE_FILTERS_AT_RECORD_TIME _WIN32_WINNT=0x0602 WINVER=0x0602 WIN32 _WINDOWS NOMINMAX PSAPI_VERSION=1 _CRT_RAND_S CERT_CHAIN_PARA_HAS_EXTRA_FIELDS WIN32_LEAN_AND_MEAN _ATL_NO_OPENGL _HAS_EXCEPTIONS=0 _SECURE_ATL CHROMIUM_BUILD TOOLKIT_VIEWS=1 USE_AURA=1 USE_ASH=1 USE_DEFAULT_RENDER_THEME=1 USE_LIBJPEG_TURBO=1 USE_MOJO=1 ENABLE_ONE_CLICK_SIGNIN ENABLE_REMOTING=1 ENABLE_WEBRTC=1 ENABLE_PEPPER_CDMS ENABLE_CONFIGURATION_POLICY ENABLE_INPUT_SPEECH ENABLE_NOTIFICATIONS ENABLE_HIDPI=1 ENABLE_EGLIMAGE=1 __STD_C _CRT_SECURE_NO_DEPRECATE _SCL_SECURE_NO_DEPRECATE NTDDI_VERSION=0x06020000 _USING_V110_SDK71_ ENABLE_TASK_MANAGER=1 ENABLE_EXTENSIONS=1 ENABLE_PLUGIN_INSTALLATION=1 ENABLE_PLUGINS=1 ENABLE_SESSION_SERVICE=1 ENABLE_THEMES=1 ENABLE_AUTOFILL_DIALOG=1 ENABLE_BACKGROUND=1 ENABLE_AUTOMATION=1 ENABLE_GOOGLE_NOW=1 CLD_VERSION=2 ENABLE_FULL_PRINTING=1 ENABLE_PRINTING=1 ENABLE_SPELLCHECK=1 ENABLE_CAPTIVE_PORTAL_DETECTION=1 ENABLE_APP_LIST=1 ENABLE_SETTINGS_APP=1 ENABLE_MANAGED_USERS=1 ENABLE_MDNS=1 ENABLE_SERVICE_DISCOVERY=1 USING_CEF_SHARED __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS DYNAMIC_ANNOTATIONS_ENABLED=1 WTF_USE_DYNAMIC_ANNOTATIONS=1

C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86

文本框中的内容为

wininet.lib dnsapi.lib version.lib msimg32.lib ws2_32.lib usp10.lib psapi.lib dbghelp.lib winmm.lib shlwapi.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib user32.lib uuid.lib odbc32.lib odbccp32.lib delayimp.lib credui.lib netapi32.lib comctl32.lib rpcrt4.lib opengl32.lib glu32.lib D:\my\myoffice\MO2\MO2\dll\libcef_dll_wrapper.lib D:\my\myoffice\MO2\MO2\dll\cef_sandbox.lib D:\my\myoffice\MO2\MO2\dll\libcef.lib

第六步 编译运行

编译运行工程,你会发现一个错误

此时只需把之前创建的DLL目录下的所有文件拷贝到\MO2\Debug目录下即可

最终运行结果如下图:

此文得到了乃林同学的大力支持,

要是没有他前期的工作,我老早放弃尝试了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDN及云技术分享

Openssl状态机的实现

Openssl是通过“握手“建立加密信道,在该信道双方的身份都是合法的,并且传输数据都是密文传输。Openssl握手通过客户端和服务端互相交换信息计算出secr...

46530
来自专栏GIS讲堂

Highcharts导出图片

Highcharts是在做项目涉及到统计图的时候大家的首选,同时也会用到highcharts的export功能,将统计图导出为图片,刚好,最近也遇到了这样的事情...

75420
来自专栏芋道源码1024

分布式作业系统 Elastic-Job-Lite 源码分析 —— 作业事件追踪

另外,Elastic-Job-Cloud 作业事件追踪 和 Elastic-Job-Lite 基本类似,不单独开一篇文章,记录在该文章里。如果你对 Elasti...

13730
来自专栏蓝天

同时具备多线程和多进程安全的写日志工具

接口请浏览:https://github.com/eyjian/mooon/blob/master/mooon/include/mooon/sys/log.h ...

28940
来自专栏linux驱动个人学习

基于input子系统的sensor驱动调试(二)

继上一篇:https://cloud.tencent.com/developer/article/1054078 一、驱动流程解析: 1、模块加载: 1 st...

67870
来自专栏Hadoop实操

如何在CDH启用Kerberos的情况下安装及使用Sentry(二)

使用beeline连接HiveServer2,创建columnread角色并授权test表s1列的读权限,将columnread角色授权给fayson_r用户组

1.6K80
来自专栏Kotlin入门系列

win7基础 cmd 查看当前已经启动的服务列表

80260
来自专栏FreeBuf

SniffAir:无线渗透测试框架

SniffAir是一个开源的无线安全框架,可帮助你轻松解析被动收集的无线数据并发起复杂的无线渗透测试。此外,它还可以处理大型的或多个pcap文件,执行交叉检查和...

11720
来自专栏吴伟祥

Linux命令缩写英文对照记忆(〇) 转

14720
来自专栏乐沙弥的世界

使用 SQLNET.EXPIRE_TIME 清除僵死连接

    数据库连接的客户端异常断开后,其占有的相应并没有被释放,如从v$session视图中依旧可以看到对应的session处于inactive,且对应的服务器...

34120

扫码关注云+社区

领取腾讯云代金券