CTK插件框架学习1-编译CTK-MINGW

CTK插件框架学习1-编译CTK-MINGW首先下载CMake官网下载地址:https://cmake.org/download/

大家好,又见面了,我是你们的朋友全栈君。

经常使用Qt Coding,无意中接触到CTK,也就因此查到了所谓的OSGi,其中OSGi架构中的“模块化”和“热插拔”看起来很厉害的样子,于是就打算研究一下,以此系列博客作为学习笔记。

1. CTK插件框架简介

CTK Plugin Framework是用于C++的动态组件系统,以OSGi规范为模型。在此框架下,应用程序由不同的组件组成,遵循面向服务的方法。
ctk是一个开源项目,Github 地址:https://github.com/commontk。
从ctk官网http://www.commontk.org/上可以查到一些简单信息,但开发资料很少,不过无妨,学习本身就是一个坎坷的过程,试错成本低呀。

2. 相关软件安装

首先参看官方主页CTK Users->Build Instructions,大概安装操作步骤如下
在这里插入图片描述
步骤简洁明了,也就是用git下载代码后,用cmake编译。

2.1 ctk代码下载

winddows下需要先安装git bash,然后在git bash中执行如下命令。

git clone git://github.com/commontk/CTK.git

同时,在ctk同级目录下,创建个ctk-superbuild目录,用来存放后续编译生成的文件。

2.2 cmkae安装

我这里电脑里默认用的是MINGW+QT5的开发环境,便于代码在window和linux系统之间做迁移。
首先打开QT安装目录下的MaintenanceTool.exe工具,选择Add or remove components,确保如下两个组件(mingw、cmake)都给安装了。
在这里插入图片描述
然后,选择我的电脑->属性->高级系统设置->环境变量,修改Path环境变量,添加如下两个环境变量,也即是上一步安装的两个组件(mingw与cmake)的路径。
在这里插入图片描述

3. 编译CTK

3.1 用cmake-gui产生makefile

查了下cmake目录下并没有ccmake程序,但是有个cmake-gui,用起来起始功能差不多。打开cmake-gui,配置下source cod与build the binaries的路径
在这里插入图片描述
点击Configure按钮,在弹框中配置generator为MinGW Makefiles,然后点击Next,配置下MinGW编译器路径。
在这里插入图片描述
在这里插入图片描述
点击确认后默认首次generate会报错,因为默认CTK配置的Qt版本为QT4,需要做更改。
在这里插入图片描述
选择参数配置中的CTK项,将CTK_QT_VERSION从4改成5。
在这里插入图片描述
另外,把CTK下面CTK_ENABLE_PluginFramework也改为打开。
最后点击generate,成功时会有”configuring done Generating done”打印,这时,ctk-superbuild目录下应该有Mkaefile生成了。
在这里插入图片描述

3.2 编译

用win10下强大的Windows PowerShell软件,进入到ctk-superbuild目录,然后用mingw32-make命令进行编译。
在这里插入图片描述
编译完成,结果如下图所示。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142701.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是CPU密集型、IO密集型?「建议收藏」

    什么是CPU密集型、IO密集型?「建议收藏」CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPULoading100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPULoading很高。在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPUbound。例如一个计……

    2025年11月7日
    3
  • winform界面美化

    winform界面美化 介绍如下:1.这是DELPHI的换肤软件的DOTNET版,使用简单并有皮肤编辑工具,可到官方网站去下,当前版本为:1.20.1,更新时间:2008-04-202.这次发布的版本包括了DotNetSkin的ForVS2003和VS2005两个版本。3.未破解前,如果要显示标题栏,则标题标显示的是Logo图片,样式请看官方的DEMO程序;如果不显示标题栏,则在程序启动的时候提示一个对话框(T

    2022年5月8日
    46
  • 如何实现微信上制作活动链接「建议收藏」

    如何实现微信上制作活动链接「建议收藏」随着互联网的快速发展,无论是房产、装修检查、家居、家店还是商城、餐饮等行业,商家们都会用到活动预约报名,线上活动链接的制作不仅成本低,而且受众也广,可以达到快速宣传的效果。相信很多小伙伴们在微信朋友圈看到的微信活动报名链接很好奇,这种活动链接是如何实现的,希望自己也可以在微信上制作这种活动链接。    工预善其事必先利其器,在这里,咱不能不提到一个非常好用的微信活动制作神器—获客宝。这款软件的神奇之处在于,他不仅可以帮你在微信上制作活动页面,而且还可以帮你侦查到谁偷偷浏览了你的页面(悄悄来,又悄悄走,不

    2026年1月18日
    5
  • idea2021.11激活(注册激活)

    (idea2021.11激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1M3Q9SD5XW-eyJsaWN…

    2022年3月28日
    88
  • 【Linux 内核网络协议栈源码剖析】recvfrom 函数剖析

    【Linux 内核网络协议栈源码剖析】recvfrom 函数剖析继前篇介绍完sendto数据发送函数后,这里介绍数据接收函数recvfrom。一、应用层——recvfrom函数对于这个函数有必要分析一下,先看看这个dup例子。服务器端中调用recvfrom函数,并未指定发送端(客户端)的地址,换句话说这个函数是一个被动函数,有点类似于tcp协议中服务器listen之后阻塞,等待客户端connect。这里则是服务器端recvfrom后,等待客户端

    2022年7月23日
    11
  • Spring Boot实战第七章-SpringBoot Web开发-Thymeleaf模板引擎

    Spring Boot实战第七章-SpringBoot Web开发-Thymeleaf模板引擎

    2021年5月16日
    130

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号