Qt框架学习 --- CTK编译(Qt5.15.2+vs2019+cmake)

系列文章目录

第二章 CTK的测试demo
https://blog.csdn.net/yonug1107716573/article/details/135527289


文章目录

  • 系列文章目录
  • 前言
  • 一、准备工作
  • 二、编译步骤
    • 1.修改文件
    • 2.编译CTK
      • 2.1 准备
      • 2.2 cmake界面配置
      • 2.3 配置编译器
      • 2.4 编译的配置设置
      • 2.5 选择需要编译的模块
      • 2.6 生成
      • 2.7 vs编译
      • 2.8 拷贝头文件
  • 三 测试
  • 总结


前言

现在网上好多关于编译CTK的博客,写的都挺好,但我还是要记录一下,因为我觉得这个方法最方便,最简单。
参考:
https://blog.csdn.net/Mr_robot_strange/article/details/128547331
https://blog.csdn.net/blackwoodcliff/article/details/107624047


一、准备工作

环境: Qt5.15.2 + mingw8 + cmake
环境变量配置:将qt的路径添加到环境变量中。我的是D:\soft\Qt\5.15.2\msvc2019_64\bin

在这里插入图片描述

下载ctk:git clone https://github.com/commontk/CTK.git
下载测试ctk程序:git clone https://github.com/Waleon/CTK-examples.git

二、编译步骤

1.修改文件

将 CTK\SuperBuild.cmake文件打开,将 INSTALL_COMMAND ""改为INSTALL_COMMAND ${_INSTALL_CMD},方便后面安装库

在这里插入图片描述

2.编译CTK

2.1 准备

打开cmake-gui, 将 CMakeLists.txt 拖过来

在这里插入图片描述

2.2 cmake界面配置

改生成的build目录,同时勾选2个配置,点 configure

在这里插入图片描述

提示创建文件夹,点yes

在这里插入图片描述

2.3 配置编译器

依次选择 2019,x64,Finish

在这里插入图片描述

2.4 编译的配置设置

Ungrouped Entries 配置如下
编译测试

在这里插入图片描述

CMAKE配置
注意要把安装路径改一下,改成D盘

在这里插入图片描述
在这里插入图片描述

2.5 选择需要编译的模块

选择基础的模块和感兴趣的模块

在这里插入图片描述
在这里插入图片描述

2.6 生成

configure,还会有红色提示,再次点击,就没有了,再依次点击 generateopen project,就在VS2019中打开了

在这里插入图片描述

2.7 vs编译

vs 打开后,点击本地调试器
漫长的等待,完成后会有一个报错,关于BUILD ALL的,忽略即可,最后显示:失败0个,说明成功了

在这里插入图片描述

2.8 拷贝头文件

CTK\Libs\PluginFramework\service文件夹拷贝到D:\Program Files\CTK\include\ctk-0.1中,这样,一套完整的编译流程就走完了

三 测试

D:\Program Files\CTK目录复制到 CTK-examples同级目录,重命名为CTKInstall,qt打开任意一个程序,测试即可

在这里插入图片描述


总结

这是一篇总结文章。大家编译CTK踩过的坑,我重新梳理一遍,以最简短的流程,最快的速度,来实现自己想要的CTK-SDK。(mingw版本我也尝试过,但是编译后,运行起来就崩溃了。Qt6也试过,编不了,目前CTK成员还没有支持Qt6 --20240114)

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

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

相关文章

Uibot (RPA设计软件)股票板块行情抓取————课前材料四

微信群发助手机器人的小项目友友们可以参考小北的课前材料二博客~ (本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~) 紧接着小北的前两篇博客,友友们我们即将开展新课的学习~RPA 培训前期准备指南——安装Uibot(RPA设计软件&#x…

Java 并发性和多线程3

七、线程安全及不可变性 当多个线程同时访问同一个资源,并且其中的一个或者多个线程对这个资源进行了写操作,才会产生竞态条件。多个线程同时读同一个资源不会产生竞态条件。 我们可以通过创建不可变的共享对象来保证对象在线程间共享时不会被修改&…

AI绘画风格化实战

在社交软件和短视频平台上,我们时常能看到各种特色鲜明的视觉效果,比如卡通化的图片和中国风的视频剪辑。这些有趣的风格化效果其实都是图像风格化技术的应用成果。 风格化效果举例 MidLibrary 这个网站提供了不同的图像风格,每一种都带有鲜…

Neo4j知识图谱(2)创建与删除

Neo4j - CQL简介_w3cschoolhttps://www.w3cschool.cn/neo4j/neo4j_cql_introduction.html一、创建节点 create(n:Person{name:何仙鸟,age:21}) create就是创建,无论是点还是边都是用create来创建 n相当于一个别名,比如创建一个Person,而Pe…

嵌入式软件面试之程序在存储器中的分布

Hi, 大家好,今天阿目分享的是一个嵌入式软件面试的常见问题,内存分布或者说程序在内存中的布局,我们写的程序是按照怎么的准则放在内存中的? 一般有操作系统的嵌入式设备,都会有一个Bootloader, 它负责在上电后初始化…

漏洞修复整理

一、Geoserver Apache HTTP/2拒绝服务漏洞(CVE-2023-44487)、Eclipse Jetty 资源管理错误漏洞(CVE-2023-26048)、Eclipse Jetty 信息泄露漏洞(CVE-2023-26049) 受影响版本:9.4.53以下版本 处理方式:原地升级 ( jdk版本…

学习redis有效期和数据类型

1、安装redis和连接redis 参考:ubuntu安装单个redis服务_ubuntu redis单机版安装-CSDN博客 连接redis:redis-cli.exe -h localhost -p 6379 -a 123456 2、Redis数据类型 以下操作我们在图形化界面演示。 2.1、五种常用数据类型介绍 Redis存储的是key…

jenkins-cl参数化构建

pipeline片段(对应jenkins-cli -p参数的BRANCHdevelop) parameters {string(name: BRANCH, defaultValue: master, description: Enter the branch name)}stages {stage(Get Code) {steps {script {def branch params.BRANCHcheckout scmGit(branches: …

算法通关村第十五关—继续研究超大规模数据场景的问题(黄金)

继续研究超大规模数据场景的问题 一、对20GB文件进行排序 题目要求:假设你有一个20GB的文件,每行一个字符串,请说明如何对这个文件进行排序?  分析:这里给出大小是20GB,其实面试官就在暗示你不要将所有的文件都装入到…

世邦通信 SPON IP网络对讲广播系统addscenedata.php任意文件上传漏洞

产品介绍 世邦通信SPON IP网络对讲广播系统采用领先的IPAudio™技术,将音频信号以数据包形式在局域网和广域网上进行传送,是一套纯数字传输系统。 漏洞描述 spon IP网络对讲广播系统存在任意文件上传漏洞,攻击者可以通过构造特殊请求包上传恶意后门文件&#xff…

Sentinel微服务保护

文章目录 Sentinel微服务保护1.初识Sentinel1.1.雪崩问题及解决方案1.1.1.雪崩问题1.1.2.解决方案1.1.3.总结 1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.4.微服务整合Sentinel 2.流量控制2.1.簇点链路2.1.快速入门2.2.流控模式2.2.1.…

Zung氏焦虑症测试SAS

SAS被称为焦虑自评量表,是一种用来测量焦虑症状程度以及观察治疗过程中变化情况的心理量表。主要用于评估心理状态,辅助参考数据,也是焦虑评定的标准。焦虑自评量表系是由William W.K. Zung编制的,该量表已成为心理咨询师、心理医…

【GitHub项目推荐--克隆你的声音】【转载】

今天推荐一个黑科技开源项目,只需要你 5 秒钟的声音对话,就能克隆出你的声音,而且能够实时的生成你任意语音。 是不是很顶? 我举个例子,如果我这里有 300 条你说话的语音,我把你的语音数据用这个开源项目…

Android jar包编译及集成

Jar包编译和集成有两种编译方式,mk和bp,Android 7版本之后逐渐采用bp格式编译,目前14版本还是兼容mk方式编译,具体写法入下: Android jar包编译 mk: 如果需要打包到systemimg,则需要将此jar包添…

认知觉醒(九)

认知觉醒(九) 专注力——情绪和智慧的交叉地带 第一节 情绪专注:一招提振你的注意力 用元认知来观察自己的注意力是一件很有意思的事情,相信你可以轻易观察到这种现象:身体做着A,脑子却想着B。 跑步的时候,手脚在…

录第第五十八天——每日温度,下一个更大元素|

单调栈 栈里的元素保持单调递增或者递减,栈内元素是元素下标。单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次求一个元素右边第一个更大元素,单调栈…

行业分享----dbaplus174期:美团基于Orchestrator的MySQL高可用实践

记录 MySQL高可用方案-MMM、MHA、MGR、PXC https://blog.csdn.net/jycjyc/article/details/119731980 美团数据库高可用架构的演进与设想 https://tech.meituan.com/2017/06/29/database-availability-architecture.html

【python playwright 安装及验证】

python playwright pip install playwright pip install playwright -i http://mirrors.aliyun.com/pypi/simple/ playwright codegen -o script.py -b chromium --ignore-https-errors --viewport-size “2560,1440” --proxy-server “http://100.8.64.8:60497” https://w…

Harbor安装

采用原生的方式安装Harbor 下载Harbor安装包:https://github.com/goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz 拖拽到Linux并解压: tar -zxvf harbor-offline-installer-v2.3.4.tgz -C /usr/local/修改Harbor配置文…

webpack的性能优化(二)——减少打包体积

优化webpack性能时,主要集中在两个方面:优化构建后的结果和优化构建时的速度。前一篇文章已经介绍了如何通过webpack的分包来优化构建后的结果。而在本篇文章中,我们将从减少打包体积的角度来探讨。 1.通过CDN链接引入第三方库 CDN是指通过相…