Windows 10 下使用Visual Studio 2017 编译CEF SDK

news/2024/7/16 8:04:19 标签: visual studio, ide, CEF, CMake, vs 2017

1.下载CEF SDK

由于需要跑在32位的机器,所以选择下载32位的SDKCEF Automated Builds

选择 Current Stable Build (Preferred) ,这是当前稳定版本,CEF版本118

下载成功解压

2.下载编译工具 CMake

下载地址:CMake

配置CMake指向CEF目录和编译目录

如果没有事先创建build 文件,将会弹窗提示自动创建,选择 Yes

接着选择 vs 版本 2017、平台 Win32

Configure 成功如下图

如果你电脑没有安装 Doxygen,会有个警告

下载安装Doxygen 

https://www.doxygen.nl/files/doxygen-1.9.8-setup.exe

重新点 Configure 配置一遍即可

!!!注意:如果你的cef编译路径有中文路径,Configure 的时候可能会出现

Unable to generate Doxyfile template: 1
Call Stack (most recent call first):
  CMakeLists.txt:243 (find_package)

!!!不要用中文路径~!!!

改掉中文后,重新点 Configure即可

接着点击 Generate 生成工程文件

3.打开工程文件

>>可以直接在CMake 点击 Open Project 按钮

>>也可以去build文件夹双击打开 cef.sln

设置cefsimple 为启动项,按F5 编译工程

不出意外,出现了编译错误

出现了C2440的错误

大概的意思就是 CEF 118 版本 需要 VC++版本2019,需要Visual Studio 2019 及以上的版本编译

而Visual Studio 2017 的VC++版本为 2015,所以最高支持编译CEF 92 版本

所以下载 CEF 92版本,重新编译,就大功告成了!

!!!那是不可能的!!!

!!!那是不可能的!!!

!!!那是不可能的!!!

换了92版本后,跑 cefsimple 项目出现了一个错误,让人发狂

Debug 模式下,报了个错

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    c101008d    Failed to write the updated manifest to the resource of file "C:/cef_binary_92.0.27+g274abcf+chromium-92.0.4515.159_windows32/build/tests/cefsimple/Debug/cefsimple.exe". 鏂囦欢鎴栫洰褰曟崯鍧忎笖鏃犳硶璇诲彇銆?    cefsimple    C:\cef_binary_92.0.27+g274abcf+chromium-92.0.4515.159_windows32\build\tests\cefsimple\mt.exe    1

经过各种查找,发现的解决方案

1.修改项目属性,不输出 manifest(

2.关闭Windows实时文件防护(Windows 安全中心也关闭

3.关闭杀毒软件(QQ管家已卸载

等等

在我电脑统统不行

※实在解决不了,希望路过的大佬能提点下

※但是在 Release 模式下,又是可以正常跑的

而在 Debug 模式下

CMake 去掉 USE_SANDBOX 的勾选,生成的项目在 Debug 模式下也是可以跑的

注释掉 cefsimple 项目里的 CMakeLists.txt 中 这个句

# ADD_WINDOWS_MANIFEST("${CMAKE_CURRENT_SOURCE_DIR}" "${CEF_TARGET}" "exe")

也是可以正常跑的


http://www.niftyadmin.cn/n/5170565.html

相关文章

Azure 机器学习 - 如何使用模板创建安全工作区

目录 先决条件了解模板配置模板连接到工作区疑难解答错误:Windows 计算机名的长度不能超过 15 个字符,并且不能全为数字或包含以下字符 本教程介绍如何使用 [Microsoft Bicep]和 [Hashicorp Terraform]模板创建以下 Azure 资源: Azure 虚拟网…

从零开始Apache2配置php服务并支持网页访问

前言 最近打算再做一版服务器状态查看的dashboard,采用“子服务器主动向主服务器推送自己的状态”的方案。一种方案是用php写,Apache作为后台服务器。简单写一下构建过程。 准备Apache2环境 以下均为Ubuntu 22.04的wsl,以root运行。配置ap…

如何通过命令查看某一文件的内容改动和提交记录

1. 查看最近10条的提交记录 一行显示 git log --oneline -102.查看某一个文件的提交记录 git log --oneline -10 文件路径3.查看某个文件的修改内容 查看某次提交的修改 内容 git show bcd9299 查看某次提交某个文件的修改内容git show bcd9299 文件路径4.对比两次提交内容的…

七个优秀微服务跟踪工具

随着微服务架构复杂性的增加,在问题出现时确定问题的根本原因变得更具挑战性。日志和指标为我们提供了有用的信息,但并不能提供系统的完整概况。这就是跟踪的用武之地。通过跟踪,开发人员可以监控微服务之间的请求进度,从而使他们…

❤ Uniapp使用 ( 三 配置和各种使用篇)

❤ Uniapp使用 ( 三 配置和各种使用篇) 1、 uniapp引入 vant 引入方式 1、下载vant源码 方式一:从 Vant 官网首页进入 GitHub下载对应版本的压缩包,将文件解压后备用,确保下载的压缩包里有dist 文件夹 2、创建 uniapp 项目,在根目录下新建 一个文件夹wxcomponent…

将 Ordinals 与比特币智能合约集成:第 4 部分

控制 BSV-20 代币的分配 在上一篇文章中,我们展示了智能合约可以在铸造后控制 BSV-20 代币的转移。 今天,我们演示如何控制此类代币的分发/发行。 无Tick模式 BSV-20 在 V2 中引入了无Tick模式,并采用了与 V1 不同的方法。 部署 (Deploy) …

ubuntu安装mysql8.0.35过程和报错处理

ubuntu安装mysql8.0.35过程 1.更新包列表:首先,确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包: sudo apt update sudo apt upgrade2.安装MySQL服务器:运行以下命令来安装MySQL服务器: …

uniapp中在组件中使用被遮挡或层级显示问题

uniapp中在组件中使用或croll-view标签内使用uni-popup在真机环境下会被scroll-view兄弟元素遮挡,在开发环境下和安卓系统中可以正常显示,但在ios中出现了问题 看了许多文章都没有找到问题的原因,最后看到这一个文章http://t.csdnimg.cn/pvQ…