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,一经查实,立即删除!

相关文章

Python和Julia TensorFlow科学计算常微分方程求解器

常微分方程 常微分方程(ODE)可用于描述动态系统。 从某种程度上来说,我们生活在一个动态系统中,窗外的天气从黎明到黄昏都在变化,我们体内发生的新陈代谢也是一个动态系统,因为随着时间的推移,…

Jenkins容器使用宿主机Docker

构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可。 设置Jenkins容器使用宿主机Docker 设置宿主机docker.sock权限: sudo chown root:root /var/run/docker.sock sudo chmod orw /var/run/d…

Easypoi word 模板导出问题

按word模板导出报错 源代码: //获取项目的根目录 ClassPathResource classPathResource new ClassPathResource("/word/template.docx"); InputStream inputStream classPathResource.getStream(); MyXWPFDocument xwpfDocument WordExportUtil.expo…

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, 它负责在上电后初始化…

reids优化系列(五)

后面更新的这些文章是将所学的redis知识进行巩固并且分享,也希望这些知识不仅仅是用于复习面试,更能在实际的应用中起到优化的作用。 有时候我们会存储一些查询多,修改少,业务逻辑较弱的数据,并且还能高效查询&#x…

漏洞修复整理

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

【记录】求职经历

目标岗位:嵌入式开发 1. 线上笔试 常用算法,比如动态规划、递归等标准模板库(STL)C 11新特性LeetCode刷题牛客刷题 2. 技术一面 3. 技术二面 4. 主管面 5. HR面

学习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…

BCPL语言 :这可是B语言啊,汤姆森大佬趁老婆回老家用来开发第一个unix操作系统的语言(大佬基于BCPL开发的bon语言,C语言前身)

BCPL(“基本组合编程语言”)是一种过程式、命令式和结构化的编程语言。BCPL最初旨在为其他语言编写编译器,现在已不再常用。然而,它的影响仍然存在,因为BCPL的一个剥离和语法改变的版本,称为B,是C编程语言的基础。BCPL…

Linux文件创建教程:简单易懂的操作指南和示例代码详解

在Linux系统中,文件的创建是日常使用中经常遇到的操作之一。本篇教程将向你介绍如何在Linux系统中创建文件,并提供详细的示例代码,让你能够轻松上手。 1. 使用touch命令创建文件 touch命令是最简单、最常用的创建文件的方法之一。它可以用来…

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,其实面试官就在暗示你不要将所有的文件都装入到…

单片机学习记录(四)

第8章 1.在异步串行通信中,接收方是如何知道发送方开始发送数据的? 答:当接收方检测到RXD引脚上有负跳变时,即可知道发送方开始发送数据; 2.AT89S51单片机的串行口有几种工作方式?有几种帧格式&#xff…

世邦通信 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.…

华纳云:cdn主服务器连通性异常怎么办

当 CDN 主服务器连通性异常时,可能会影响到内容分发网络(CDN)的正常运行。在面对这种情况时,可以采取以下步骤来处理: 检查网络连接: 首先确保本地网络连接正常。尝试通过其他网络或设备访问 CDN 主服务器,以确定问题是…