Cef笔记:VS2019编译cef_109.0.5414
1. 说明
-
基本说明
cef本身的编译我试了下,依赖的东西多,不好找,所以就直接使用cef官网提供的预编译包,参看官方下载地址。需要匹配好自己使用的vs版本以及操作系统等,参看cef版本信息。 -
本文使用的cef版本信息
Release Branch | Version | Branch Date | Windows Build Requirements | macOS Build Requirements | Linux Build Requirements |
---|---|---|---|---|---|
5414 | 109 | Nov 2022 | Win 7+ deployment, Win 10+ build system w/ VS2019 16.11.13+, Win 10.0.20348 SDK, Ninja | macOS 10.13+ deployment, 12.5+ build system w/ 13.0 base SDK (Xcode 14.0), Ninja, 64-bit only | Ubuntu 18.04+, Debian 10+, Ninja |
2. 编译笔记
- 2.1 CMake后,不修改啥,直接生成工程,编译成功,主要选项如下:
运行例子程序cefclient,出现如下提示,windows 7中没有这个函数,查了MSDN,是Windows8新增的函数。cef介绍这个版本是支持windows7的?但这里明显不支持了,看后文。
- 2.2 本人需要使用运行时库为MD版本的,这里是MT,所以我将选项CEF_RUNTIME_LIBRARY_FLAG改为MD(默认值为MT),如下,重新CMake生成工程后编译
编译时,出现很多类似一下的错误:
cef_sandbox.lib(lazy_instance_helpers.obj) : error LNK2038: mismatch detected for ‘RuntimeLibrary’: value ‘MTd_StaticDebug’ doesn’t match value ‘MDd_DynamicDebug’ in audio_output_unittest.obj
cef_sandbox使用的是/MT选项编译的,需要用/MD版本的cef的话,就不能用sand_box,所以下CMake中取消USE_SANDBOX后,继续生成编译
编译成功,windows7下运行也成功