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

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")

也是可以正常编译通过

但是那也只是编译通过,cefsimple.exe没能正常跑起来

对于取消勾选USE_SANDBOX,正常编译通过,但运行cefsimple.exe 白屏

对于注释ADD_WINDOWS_MANIFEST("${CMAKE_CURRENT_SOURCE_DIR}" "${CEF_TARGET}" "exe")

报下面的错误

综上,在我电脑,只有在Release 模式下才能正常,想不通!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/140683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python pip安装特定包,网络慢的问题

文件requirements.txt httpx0.24.0 Pillow9.5.0 playwright1.33.0 tenacity8.2.2 tornado6.3.2 PyExecJS1.5.1 opencv-python4.7.0.72 tortoise-orm[asyncmy]0.19.3 aerich0.7.2 numpy~1.24.4 redis~4.6.0 Pydantic1.7将文件放入任意一个目录下 cd 到该目录下执行 while read…

提升SDK广告填充率的有效方法

提升SDK广告填充率的有效方法 在移动应用开发中,提高SDK广告填充率是一个关键目标,因为它直接影响到广告收益。广告填充率是指广告请求中实际被填充广告的比例。提高填充率可以帮助开发者最大化广告收入,以下是一些有效的方法来实现这一目标。…

Containerd接入Harbor仓库

在使用容器时,避免不了会使用到私有仓库,一般都是采用 harbor 作为私有仓库,docker 对接 harbor 仓库非常简单,哪 containerd 如何对接 harbor 呢? 在内网使用 harbor 根据个人习惯,一般都是非 http 并且是…

PHP 服装销售管理系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp

一、源码特点 PHP 服装销售管理系统是一套完善的web设计系统mysql数据库 ,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php服装销售管理系统1 二、功能介绍 (1)员工管理:对员工信息…

卷积神经网络中参数量的计算原理及方法

手动计算参数量: 1. 卷积层参数计算方法: 参数量计算公式 卷积核高度 * 卷积核宽度 * 输入层通道数 * 输出层通道数 bias(输出层通道数) 注意:池化层没有参数(只是在已知数据区域里求个最大值)输入层通道数就是上层的卷积核数量 输出层通道数等于卷积核个数:输入层通道数经过…

设计模式 -- 责任链模式(Chain of Responsibility Pattern)

责任链模式:和上一篇策略模式一样也是行为型模式。创建一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它…

jenkins CSV编码导致乱码问题解决

问题:生产报告会乱码的问题,一般是有编码格式引起的。我遇到的问题是,jmeter需要读取csv的数据作为参数。但是我们并不知道csv保存是什么编码格式,有可能不是utf-8的编码格式,所以会导致中文乱码的问题 解决方案&#…

每日一练:Python中如何使用enumerate 函数创建带索引的元组

enumerate函数是 Python 中用于遍历可迭代对象并返回索引和对应元素的内置函数。它可以方便地用于创建带索引的元组。以下是一个使用enumerate 函数创建带索引的元组的示例: # 创建一个列表 fruits [apple, banana, orange, grape]# 使用 enumerate 函数创建带索引…

Python(Numpy)实现非极大值抑制

1.Numpy的几个骚操作 (1).np.maximum的使用 import numpy as np box [3,5,7,9] # A single box with a first coordinate of 3 boxes np.array([[1, 4], [5, 2], [2, 6]]) # An array of multiple boxes #把box把3拿出来和boxes的第一列,逐个比较,…

机器学习中的假设检验

正态性检验相关分析回归分析 所谓假设检验,其实就是根据原假设来构造一种已知分布的统计量来计算概率,根据概率值大小来判断能否拒绝原假设,从而得到一种结论。假设检验的过程就是,构造一个原假设成立条件下的事件A,计…

使用Nodejs搭建简单的web网页并实现公网访问

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎…

HarmonyOS应用开发-首选项与后台通知管理

首选项 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。本章以HarmonyOS的首选项为例,介绍了…

SpringBoot 是否必传参数之分组校验(2)

文章目录 前言背景分组接口分组校验Controller层请求示例前言 本文基于SpringBoot 3.1.2,使用分组校验来优雅的处理参数是否必传校验。 背景 在做Crud时,尤其是修改操作,某个参数在规定不能修改,如果没有做是否必传校验,就会导致前端无论传什么,后端就会直接进行修改操…

Python:Unittest框架快速入门:用例、断言、夹具、套件、HTML报告、ddt数据驱动

快速看了套Unittest的入门教程 软件测试全套资料赠送_哔哩哔哩_bilibili软件测试全套资料赠送是快速入门unittest测试框架!全实战详细教学,仅此一套!的第1集视频,该合集共计11集,视频收藏或关注UP主,及时了…

本周Github有趣开源项目:Rspress等6个

Github有趣的项目、工具和库: 1、sshx 一个基于 Web 的安全协作终端。通过网络进行快速、协作的实时终端共享 特征: 运行一个命令即可与任何人共享您的终端。 在无限画布上调整大小、移动窗口以及自由缩放和平移。 查看其他人的光标实时移动。 连接到…

copilot 产生 python工具函数并生成单元测试

stock.py 这个文件,我只写了注释(的开头),大部分注释内容和函数都是copilot # split a string and extract the environment variable from it # input can be , pathabc, pathabc;pathdef, pathabc;pathdef;pathghi # output i…

如何结合内网穿透实现公网远程访问Linux AMH服务器管理面板

文章目录 1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装Cpolar4. 配置AMH面板公网地址5. 远程访问AMH面板6. 固定AMH面板公网地址 AMH 是一款基于 Linux 系统的服务器管理面板,它提供了一系列的功能,包括网站管理、FTP 管理、数据库管理、DNS 管…

假冒 Skype 应用程序网络钓鱼分析

参考链接: https://slowmist.medium.com/fake-skype-app-phishing-analysis-35c1dc8bc515 背景 在Web3世界中,涉及假冒应用程序的网络钓鱼事件相当频繁。慢雾安全团队此前曾发表过分析此类网络钓鱼案例的文章。由于Google Play在中国无法访问,许多用户…

STM32--系统滴答SysTick

一、SysTick是什么? Systick定时器是一个24bit的倒计时(向下计数)定时器,功能就是实现简单的延时。 SysTick 是一种系统定时器,通常在嵌入式系统中使用。它是 ARM Cortex-M 处理器的一个特殊定时器,用于提…

Notepad++,搜索窗口独立后,恢复

双击一下find result框,恢复到原来的模式。