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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle 拼接字符串的两种方式「建议收藏」

    oracle 拼接字符串的两种方式「建议收藏」 方式一:使用管道符||进行拼接方式二:使用concat()函数区别:  方式一可以拼接多个字符串;方式二只能将2个字符串拼接到一起。写在最后  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!! 相关推荐:个人主页  …

    2022年9月19日
    0
  • Python PyPDF2、pdfplumber 提取 PDF 文本、图片内容

    Python PyPDF2、pdfplumber 提取 PDF 文本、图片内容PythonPyPDF2、pdfplumber提取PDF文本、图片内容PythonPyPDF2、pdfplumber提取PDF文本、图片内容安装库安装pdfplumber安装PyPDF2内容提取代码图片提取文本提取完整代码PythonPyPDF2、pdfplumber提取PDF文本、图片内容说明本方法提取的图片并不算完整,我测试用的是阿里2017年双十一的一份P…

    2022年6月23日
    23
  • Word——Word在试图打开文件时遇到错误的一种解决办法

    Word——Word在试图打开文件时遇到错误的一种解决办法Word在试图打开文件时遇到错误的一种解决办法一、遇到的情况二、解决办法 1.将此word文件压缩 2.删除此word文档 3.将压缩包解压一、遇到的情况二、解决办法 1.将此word文件压缩 2.删除此word文档 3.将压缩包解压…

    2022年6月11日
    36
  • linux命令行怎么结束进程,linux结束进程命令「建议收藏」

    linux命令行怎么结束进程,linux结束进程命令「建议收藏」linux下进程的开启与结束都可以通过命令来控制,下面由学习啦小编为大家整理了linux下结束进程命令的相关知识,希望对大家有所帮助。linux结束进程命令1.killkill[信号代码]根据PID向进程发送信号,常用来结束进程,默认信号为-9信号代码,可取值如下:-l[信号数字]显示、翻译信号代码-9,-KILL发送kill信号退出-6,-ABRT发送abort信号…

    2025年6月22日
    0
  • SQL查询–约束「建议收藏」

    SQL查询–约束「建议收藏」在慕课网上学习时记的关于oracle中约束概念的基础笔记,当初一直对约束的概念不清不楚的,所以找了些资料来看约束是数据库用来确保数据满足业务规则的手段约束的作用:定义规则、确保完整性1.非空约束

    2022年7月2日
    21
  • Linux利用OneinStack搭建环境

    Linux利用OneinStack搭建环境

    2021年10月23日
    37

发表回复

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

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