码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView(图文并茂超详细版本)


    往期回顾

    【QT进阶】Qt Web混合编程之CEF、QCefView简单介绍-CSDN博客

    【QT进阶】Qt Web混合编程之VS2019 CEF的编译与使用(图文并茂超详细介绍)-CSDN博客【QT进阶】Qt Web混合编程之QWebEngineView基本用法-CSDN博客【QT进阶】Qt Web混合编程之VS2019 CEF的编译与使用(图文并茂超详细介绍)-CSDN博客

     【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView

    一、具体编译操作

    1、下载QCefView

    注意QCefView是Qt对CEF的封装,编译时需要依赖CEF。

    QCefView官网     https://cefview.github.io/QCefView/
    Github     https://github.com/CefView/QCefView

    2、克隆代码 

    git clone https://github.com/CefView/QCefView.git
    git clone https://github.com/CefView/CefViewCore.git

    虽然QCefView_工程里有CefViewCore目录,但是是空的,需要手动clone下CefViewCore的代码,然后放到QCefView.工程里。

    直接把QCefView文件夹里的CefViewCore文件夹删了,然后把外面有代码的文件夹放进去就成了 

    3、设置版本

    3.1CEF依赖 

    CefViewCore\CefConfig.cmake
    在编译CEF时需要下载CEF,提供的是x64的链接,也可以提前下好,放到相应的目录

    由于我们之前已经下载了,这里cmake文件夹里自然就是有的

    3.2Qt版本设置

    打开QCefView根目录的QtConfig.cmake

    修改qt_sdk的版本,同时把这个加入到系统变量中

    4、使用CMake编译 

    在QCefView文件夹里创建build目录和sdk目录

    打开CMake开始配置路径、编译x64版本

    跟编译cef一样的,最上面是QCefView的目录,下面是build文件夹目录,然后Configure,选择vs2019,x64

    这个过程会很慢,慢慢等待,而且如果没有上网环境的话,是下不了的。

    下载好之后,勾选这几个需要的,把安装目录改成之前新建的sdk,generate完成

    5、直接open project/打开build文件夹里的sln文件,进入到项目里去 

    记得修改一下qt版本为msvc2019_64

    6、提取sdk 

    把生成的头文件等都放到sdk文件夹

    7、添加缺少的dll

    还有platform平台的dll,因为他设置的qt版本和我们自己实际安装的不一样,所以要替换这几个

    8、最后成功运行 

    二、使用QCefView 

    1、将QCefView sdk copy到项目中,右键项目属性进行配置,include, lib, bin分别添加

    2、 copy QCefView提供的代码,窗口和main函数代码

    3、 copy QCefView Qt设计器布局

    4、调整CefViewWidgets.h的头文件

    5、调整代码,去掉主界面的水平布局,在Qt设计里以及布局ok了

    6、解决编译错误

    无法链接的错误:要么是lib未链接,lib名或路径写错了,要么就是虚函数未实现

    QCefView将CefViewWidget类分了两个地方实现,代码少Copy一些,虚函数未链接,编译失败。


    以上就是CMake VS2019编译并使用QCefView的简单介绍。

    都看到这里了,点个赞再走呗朋友~

    加油吧,预祝大家变得更强!

  • 相关阅读:
    AD使用技巧2
    Transformer Block运算量
    日语
    Android Jni Native线程回调Java函数,env->findClass()失败。
    两道力扣真题带你入门动态规划
    不懂就学—什么是autoML?
    向量数据库Milvus Cloud核心组件再升级,主打就是一个低延迟、高准确度
    Unity AssetBundle(1):Assets打包和依赖(Dependencies)
    Makefile
    深入理解SpringMVC工作原理,像大牛一样手写SpringMVC框架
  • 原文地址:https://blog.csdn.net/LF__plus/article/details/137976394
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号