建材团购网站建设方案,wordpress纯静态化插件,电子商务网络营销方式,做网站能带来什么QCefView编译配置#xff08;Windows-MSVC#xff09; 文章目录QCefView编译配置#xff08;Windows-MSVC#xff09;1、概述2、准备工作3、添加环境变量4、更换cef源码版本5、CMake构建6、Visual Studio编译7、安装编译后的文件8、验证编译结果更多精彩内容#x1f449;个…QCefView编译配置Windows-MSVC 文章目录QCefView编译配置Windows-MSVC1、概述2、准备工作3、添加环境变量4、更换cef源码版本5、CMake构建6、Visual Studio编译7、安装编译后的文件8、验证编译结果更多精彩内容个人内容分类汇总 Qt - Web混合开发
1、概述 什么是CEF Chromium嵌入式框架CEF是一个简单的框架用于在其他应用程序中嵌入基于Chromium的浏览器。 CEF是由Marshall Greenblatt于2008年创立的BSD许可开源项目基于Google Chromium项目。与主要专注于Google Chrome应用程序开发的Chromium项目本身不同CEF专注于促进第三方应用程序中的嵌入式浏览器用例。CEF 通过提供生产质量的稳定 API、跟踪特定 Chromium 版本的发布分支和二进制发行版将用户与底层 Chromium 和 Blink 代码的复杂性隔离开来。CEF 中的大多数功能都有默认实现这些实现提供丰富的功能同时用户几乎不需要集成工作。 什么是QCefView QCefView是为Qt框架开发的一个封装集成了Chromium Embedded Framework库的Wdiget UI组件。使用QCefView可以充分发挥CEF丰富强大的Web能力快速开发混合架构的应用程序。 使用Qt开发者熟悉的Formssignal/slot来开发应用方便直观的Javascript/C互操作方式 为何选择QCefView而不用Electron 从设计思路和最终形态来讲QCefView和Electron是完全不同的技术。 QCefView只是一个为Qt框架开发的UI组件Electron则是一个功能完备的应用开发框架QCefView是为Native系统开发者设计的Electron对前端开发者更友好QCefView使用C作为主要开发语言Electron全部基于JavascriptQCefView提供便捷直观的Javascript/C互操作方式Electron通过编写插件实现Web/Native互操作
2、准备工作 Qt版本Qt5.12.5 编译器MSVC2017-64 可以下载我打包好的QCefViewCefViewCorecef源码 链接https://pan.baidu.com/s/10dUWZBUNwm7PFLr1tzsuXw 提取码uv2khttps://download.csdn.net/download/qq_43627907/87613483 可以下载我编译好的库文件 QCefView官方网站 CEF源码 CMakeQCefView通过CMake管理项目构建所以请先安装CMake。最低要求版本为3.19.1推荐使用最新版本。 CefViewCore 我选择的版本 下载命令git clone https://github.com/CefView/CefViewCore.git QCefView 我选择的版本 下载命令git clone https://github.com/CefView/QCefView.git 将CefViewCore下载后拷贝到QCefView文件夹下
3、添加环境变量 第一步需要添加QTDIR环境变量否则CMAKE构建时会报错 在开始菜单搜索【环境变量】 打开【系统属性】窗口点击【环境变量】按键 点击【新建】变量名输入【QTDIR】变量值输入【D:\Qt\Qt5.12.5\5.12.5\msvc2017_64】
4、更换cef源码版本 MSVC-2017编译器不支持编译新版本的cef经过测试可以选择【91.0.4472.164】以下版本 打开CefViewCore文件夹下的CefConfig.cmake文件将高版本的注释掉取消91版本的注释
5、CMake构建 创建一个build文件夹打开CMake将QCefView文件夹下的CMakeLists.txt拖入CMake中然后将构建生成路径设置为创建的build文件夹 点击【Configure】编译器选择【Visual Studio 15 2017X86】然后点击【Finsh】 这时候如果网络不好或者离线环境则会卡在下列这一步这是在自动下载cef源码如果网络不好就会下载失败 可以复制https://cef-builds.spotifycdn.com/cef_binary_91.1.23g04c8d56chromium-91.0.4472.164_windows64.tar.bz2到浏览器或者迅雷中下载下载完成后拷贝到QCefView\CefViewCore\dep文件夹下然后点击【Configure】就会自动解压cef源码 勾选【BUILD_DEMO】可以同时编译生成cef的示例程序可以不勾选 修改编译后的安装路径【CMAKE_INSTALL_PREFIX】 点击【Configure】-【Generate】-【Open Project】自动打开VS
6、Visual Studio编译 鼠标右键选择【ALL_BUILD】-【生成】 编译后会报下列错误信息 严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2660 “CefWindowInfo::SetAsChild”: 函数不接受 5 个参数 QCefView C:\Users\mhf\Desktop\Test\QCefView\src\details\QCefViewPrivate.cpp 102 双击错误信息转至报错位置可以看出这里时通过判断cef的版本宏 是否91版本 鼠标选中报错的SetAsChild函数右键选择【转到定义】 可以发现函数定义只有两个参数而我们选择的CEF版本是【91.1.23】实际上是大于91的版本这里宏判断有一点bug 将#if CEF_VERSION_MAJOR 91改为#if CEF_VERSION_MAJOR 91然后【重新生成】就可以编译了
7、安装编译后的文件 鼠标右键选择【INSTALL】-【生成】
8、验证编译结果 由于在CMake构建时指定了安装路径为E:/QCefView所以安装后如下所示 进入QCefViewTest文件夹下双击运行QCefViewTest.exe