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


相关推荐

  • php三个数从大到小排列_php常用的流程控制语句

    php三个数从大到小排列_php常用的流程控制语句<?php$a = rand(100,999);$b = rand(100,999);$c = rand(100,999);echo “a=”.”$a”.”<br>”;echo “b=”.”$b”.”<br>”;echo “c=”.”$c”.”<br>”;if(($a > $b ) && ($a > …

    2022年8月18日
    8
  • 常用端口大全[通俗易懂]

    常用端口大全[通俗易懂]端口说明0无效端口,通常用于分析操作系统1传输控制协议端口服务多路开关选择器2管理实用程序3压缩进程5远程作业登录7回显9丢弃11在线用户13时间17每日引用18消息发送协议19字符发生器…

    2025年11月26日
    2
  • 【STM32】HAL库 STM32CubeMX教程四—UART串口通信详解「建议收藏」

    【STM32】HAL库 STM32CubeMX教程四—UART串口通信详解「建议收藏」前言:今天我们学习STM32CubeMX串口的操作,以及HAL库串口的配置,我们会详细的讲解各个模块的使用和具体功能,并且基于HAL库实现Printf函数功能重定向,UART中断接收,本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用所用工具:1、芯片:STM32F407ZET62、STM32CubeMx软件3、IDE:M…

    2022年7月20日
    14
  • cuda包卸载_之前安装过cuda卸载不彻底

    cuda包卸载_之前安装过cuda卸载不彻底不小心把/usr/local/cuda删除了,卸载cuda后安装cuda后/usr/local下没有cuda文件夹.运行:sudoapt-getautoremove–purgecuda

    2022年8月6日
    4
  • jdbc fetchsize_jdbc和odbc的关系

    jdbc fetchsize_jdbc和odbc的关系DBUtilscommons-dbutils是Apache组织提供的一个开源JDBC工具类库,封装了针对于数据库的增删改查操作APIQueryRunnerResulSetHandlerDbutils插入举例Connection conn = null; try { QueryRunner runner = new QueryRunner(); conn = JBBCUtils.getConnections3();

    2022年8月8日
    5
  • linux中解压rar文件

    linux中解压rar文件linux平台默认是不支持RAR文件的解压,需要安装linux版本的RAR压缩软件,下载地址为:http://www.rarlab.com/download.htm下载之后进行解压之后,进入rar目录,运行make指令进行安装:[root@localhostrar]#lsacknow.txtlicense.txtorder.htmrarfiles.lstrar.txt

    2022年7月15日
    12

发表回复

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

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