当前位置: 首页 > news >正文

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.lryc.cn/news/228924.html

相关文章:

  • 数字货币swap交易所逻辑系统开发分析方案
  • spring boot中使用Bean Validation做优雅的参数校验
  • 搜索引擎项目
  • 7.外部存储器,Cache,虚拟存储器
  • UITableView的style是UITableViewStyleGrouped
  • Java17新增特性
  • VR全景技术在城市园区发展中有哪些应用与帮助
  • 在 SQL 中,当复合主键成为外键时应该如何被其它表引用
  • Ps:通过显示大小了解图像的打印尺寸
  • Linux - 驱动开发 - watchdog - SMP机制下多核确活
  • 概念解析 | LoRA:低秩矩阵分解在神经网络微调中的魔力
  • 量子计算和量子通信技术:引领潜力无限的未来
  • nodejs+vue+python+PHP+微信小程序-安卓- 电影在线订票系统的设计与实现-计算机毕业设计推荐
  • LightDB23.4支持mysql aes_encrypt/aes_decrypt/hex/unhex函数
  • uniapp——项目day04
  • 7-爬虫-中间件和下载中间件(加代理,加请求头,加cookie)、scrapy集成selenium、源码去重规则(布隆过滤器)、分布式爬虫
  • 创建自己的nas服务,从远端拉取所需文件
  • 智慧化城市内涝的预警,万宾科技内涝积水监测仪
  • 7-18 调用一个函数
  • VB.net TCP服务端监听端口接收客户端RFID网络读卡器上传的读卡数据
  • Springboot 集成 MongoDB
  • AM@定积分的定义求某些类型的极限
  • Perl爬虫程序的框架
  • 15. 机器学习——聚类
  • 华为笔记本电脑原装win10/win11系统恢复安装教程方法
  • 计算机毕业设计 基于SpringBoot的养老院管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Python数据容器(序列操作)
  • 【C++】stack,queue和deque
  • Linux centos系统中添加磁盘
  • java网络编程之UDP协议