QCefView 的 编译

news2024/12/28 20:33:17

CEF

QCefView编译

学习QT加载网页时了解到CEF与QCefView, QCefView是一个与Chromium Embedded Framework集成的Qt第三方开源库,LGPL许可,可以在项目中免费使用,功能类似CEF、QWebEngineView,提供C++和web交互的能力。

  • 官方网址:http://tishion.github.io/QCefView
  • Github地址:https://github.com/CefView/QCefView
  • CEF下载地址:https://cef-builds.spotifycdn.com/index.html#linux64:113.3.1

QCefView需要下载自己编译,CEF有编译好的但是网上说编好的有问题会导致某些网页效果显示不出来?然后因为QCefView编译就需要CEF源码,我就没有再去下载CEF编好的测试了解。

首先下载 QCefView 源码,

git clone --recursive  https://github.com/CefView/QCefView.git

因为 QCefView 里面用到了 CefViewCore ,所以需要把子模块一起下载;
也可以不加 --recursive ,然后再去下载 CefViewCore ,把它放到 QCefView\CefViewCore 这个文件夹就行;

然后 CefViewCore 代码有了之后,去找到它的 CefConfig.cmake, 注意是 CefViewCore\CefConfig.cmake,不是 QCefView 的;
打开之后内容大概是:
在这里插入图片描述

这里有个大坑各位一定要注意!!!
QCefView可以生成任何版本编译器的工程文件,但是它指定的CEF版本对编译器是有要求的,比如我截图上的113版本,这个版本要求VS2022才能编译!!!!
在这里插入图片描述

使用CMAKE生成VS2019工程文件可以正常生成,但是编不出来DLL!!!
一定要根据自己的系统和编译器选择合适的版本啊啊啊啊!!!
查看各版本的网址是这里: https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md
这个网址上的版本似乎也有点不准,比如图上的111版本,写了支持win10+vs2019,但是我用这个版本的CEF在VS2019里编译还是会失败,提示缺少"FILE_INFO_BY_HANDLE_CLASS",没办法我又后退了几个版本,最后我编译成功的版本是102.0.10,我的操作系统版本是win10专业版19044.1826,我得VS2019版本是16.11.19

在他的 CMAKE 里会下载 CEF 的源码,这里就指定了 CEF 对应的版本号,然后去上面的 CEF下载地址搜索对应的版本下载下来;
下载后放到 QCefView\CefViewCore\dep

接下来去 QCefView 中找到 QtConfig.cmake,打开之后里面找到有一条

set(QT_SDK_DIR
  # Change this value to the Qt SDK path of your build environment
  "$ENV{QTDIR}"
)

在这里可以指定你的 QT 环境路径,如果之前设过 QTDIR 到环境变量就不用管了;没设过的话可以把 QT安装环境对应的编译器的路径放到这里,也可以设到系统环境变量取名为 QTDIR 。比如我要用VS2019 编译,那么我设的路径就是
在这里插入图片描述

最后在 QCefView 里建一个文件夹,比如build_vs2019, 到时候把 CMake 产生的vs解决方案输出到这里;

打开 CMake GUI , 打开 QCefView, 然后设置刚刚建的输出文件夹,依次执行 Configure 和 Generate ,如果没问题的话就会得到:
在这里插入图片描述

这样就是成功了,会在刚刚的输出文件夹中生成sln文件,直接打开就有了:
在这里插入图片描述

然后按自己需要的属性编译即可。

最后生成的库文件在建立的输出文件夹的out文件夹中:
在这里插入图片描述

头文件在 include 中:
在这里插入图片描述

Cef 编译

刚刚编译 QCefView 得时候已经下载过 CEF 的源码了,直接解压,然后建一个build文件夹,然后用CMake GUI 打开,选择 vs2019 生成即可;

需要注意的是 用VS2019打开工程编译时,可能出现错误:
在这里插入图片描述

根源就在于那个 か 日文符号,改成 demo ,再重编就正常了;

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

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

相关文章

【PyQT5教程】-01入门PyQT5

PyQT介绍 1.Qt 1.1 介绍 Qt(读作“cute”)是一个跨平台的C应用程序开发框架,最初由挪威公司Trolltech(现在是Qt公司的一部分)开发。Qt提供了一系列工具和类库,用于开发图形界面应用程序、命令行工具和服务…

适用于Linux的Windows子系统(系统安装步骤)

目录 前言 一、WSL2安装 1.Microsoft参考文档(推荐选择旧版 WSL 的手动安装步骤) 2.开启子系统 二、Ubuntu安装 1.在Microsoft Store中获取ubuntu 2.运行ubuntu配置管理信息 3.ubuntu换源 三、WSL 与 Ubuntu的一些基础使用命令 四、Windows Terminal终端…

linux安装postgresql13

linux安装postgresql13 1. 安装2. 数据库初始化3.配置远程访问3.1 修改配置文件3.2 重启服务3.3 测试连接 1. 安装 linux下载链接:https://www.postgresql.org/download/linux/ubuntu/安装命令sudo sh -c echo "deb https://apt.postgresql.org/pub/repos/apt…

Qt-QTransform-内存结构-仿射变换-工作原理-C++

文章目录 1.概述2.内存结构3.矩阵乘法4.map函数5.QPaint-setWorldTransform6.总结 1.概述 QTransform是Qt中推荐的矩阵变换类。转换指定如何平移,缩放,剪切,旋转或投影坐标系,通常在渲染图形时使用。QTransform类支持矩阵乘法&am…

业务自动化工具Automatisch

什么是 Automatisch ? Automatisch 是一种开源的 Zapier 替代业务自动化工具,可让您连接不同的服务,如 Twitter、Slack 等,以自动化您的业务流程。您可以使用 Automatisch 构建工作流程自动化,而无需花费时间和金钱。也…

【大虾送书第八期】揭秘分布式文件系统大规模元数据管理机制——以Alluxio文件系统为例

目录 ✨写在前面 ✨分布式文件系统元数据的常见类型 🍓文件(inode)元数据 🍓数据块(block)元数据 🍓MountTable 🍓Worker元数据 ✨分布式文件系统元数据的存储模式 🍓元数…

手写RPC框架--8.压缩报文

RPC框架-Gitee代码(麻烦点个Starred, 支持一下吧) RPC框架-GitHub代码(麻烦点个Starred, 支持一下吧) 压缩报文 对报文进行压缩a.报文压缩b.负载均衡c.使用模板方法优化负载均衡d.一致性hash-负载均衡算法d.1) 介绍d.2) 实现 e.实现心跳检测f.最短响应时间的负载均衡策略 对报文…

vue 将public文件下的图片引入.vue文件内

data() {return {publicPath:process.env.BASE_URL,} }<div :style"{backgroundImage: url(${publicPath}images/tradingRegular_images/rectBg.png)}">11 </div>

从一个向量类中理解Python 中的特殊方法(__init__、__getitem__、__len__、__repr__、__str__)

文章目录 前言一、init、getitem、len、repr、str解释二、向量案例1.实现属于我们自己的向量2.导入向量模块 前言 特殊方法是一种具有特殊命名约定的方法&#xff0c;用来定义类的行为与功能。当满足特定条件时&#xff0c;这些方法会被自动调用&#xff0c;从而实现一些内置的…

Splunk Enterprise for Mac:卓越的数据分析与管理工具

在当今的数字化时代&#xff0c;数据已经成为企业成功的核心驱动力。然而&#xff0c;如何有效地管理和分析这些数据&#xff0c;却常常让企业感到困惑。Splunk Enterprise for Mac 是一款领先的数据分析和管理工具&#xff0c;可以帮助你解决这一难题。 Splunk Enterprise fo…

Nginx(动静分离、分配缓冲区、资源缓存、防盗链、资源压缩、IP黑白名单、大文件传输配置、跨域配置、高可用、性能优化)

Nginx&#xff0c;负载均衡&#xff0c;Http反向代理服务器&#xff0c;支持大部分协议&#xff0c;如TCP、UDP、SMTP、HTTPS 环境搭建 Nginx反向代理-负载均衡 首先通过SpringBootFreemarker快速搭建一个WEB项目&#xff1a;springboot-web-nginx&#xff0c;然后在该项目中&…

适用于Linux的Windows子系统(在VScode中开发Linux项目)

目录 前言 一、VScode扩展安装 二、挂载项目 1.连接 2.挂载&#xff08;挂载之后项目终端就是Linux了&#xff09; 3.愉快的搬砖开始了 4.前端如何通过内网 IP 本地访问到 Ubuntu 上&#xff1f; 总结 前言 系列分为三章&#xff08;从安装到项目使用&#xff09;&…

云端AI:释放企业创新力,打造智慧企业

文章目录 1. 云端AI的基本概念1.1 云计算1.2 人工智能1.3 云端AI 2. 云端AI的重要性2.1 成本效益2.2 弹性扩展2.3 无缝整合2.4 实时更新 3. 云端AI的应用领域3.1 智能客服3.2 预测分析3.3 自动化生产 4. 云端AI的未来趋势4.1 边缘计算与云端AI的融合4.2 可解释性AI4.3 隐私和安…

ORACLE的分区(一)

目录 一、分区概念 二、表分区的优点 三、分区策略 一、分区概念 随着时间的发展&#xff0c;一个表的数据会越来越多&#xff0c;当数据量增大的时候我们一般采取建立索引优化索引的方式提高查询速度&#xff0c;但是数据量再次增大即使是索引也无法提高速度&#xff0c;这时…

从金蝶云星空到聚水潭通过接口配置打通数据

从金蝶云星空到聚水潭通过接口配置打通数据 源系统:金蝶云星空 金蝶K/3Cloud&#xff08;金蝶云星空&#xff09;是移动互联网时代的新型ERP&#xff0c;是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”&#xff0c;旨在帮助企业打造面…

代码随想录Day_59打卡

①、下一个更大元素Ⅱ 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序&#xff0c;这个数字之后的第一个比它更大的数&am…

REST风格【SpringBoot】

1.REST简介 行为动作 通常模块名使用复数&#xff0c;也就是加s 2.RESTful入门 Controller public class UserController {RequestMapping(value "/users", method RequestMethod.POST)public String save() {System.out.println("user save");return &…

pcie 总结

用户空间pci 常用命令 lspci 查看所有pci 设备 lspci -t 树形查看所有设备 lspci -s 00:1f.6 -vvv 查看某个设备所有信息 lspci -s 00:1f.6 -vvv -xxx 增加16进制看看 sudo cat /proc/iomen | grep PCI 查看所有地址映射 如何确定pcie io空间 内存空间大小 (1)读取出基地址…

视频监控/安防监控/AI视频分析/边缘计算/TSINGSEE青犀AI算法智慧仓储解决方案

随着全球经济与科学技术的双重推动&#xff0c;我国的仓储管理已经进入了高速发展时期&#xff0c;物流仓储也由简单的储藏仓库向智能化仓储转变。TSINGSEE青犀AI智慧仓储解决方案是利用先进的信息技术和物联网技术来提高仓储管理效率、降低成本的一种仓储管理模式。 方案功能 …

如何使用PyTorch训练LLM

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 像LangChain这样的库促进了上述端到端AI应用程序的实现。我们的教程介绍 LangChain for Data Engineering & Data Applications 概述了您可以使用 Langchain 做什么&#xff0c;包括 LangChain 解决的问题&#xf…