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


相关推荐

  • golang的AES加密和解密的三种模式实现(CBC/ECB/CFB)「建议收藏」

    golang的AES加密和解密的三种模式实现(CBC/ECB/CFB)packagemainimport( "bytes" "crypto/aes" "crypto/cipher" "crypto/rand" "encoding/base64" "encoding/hex"

    2022年4月16日
    200
  • vc++可以编辑c语言吗?_vc6.0使用教程详解

    vc++可以编辑c语言吗?_vc6.0使用教程详解如何编写自己的VCL控件    用过Delphi的朋友们,大概对Delphi的最喜欢Delphi的不是他的强类型的pascal语法,而是强大的VCL控件,本人就是一位VCL控件的爱好者。    VCL控件的开源,给我们带来了享之不尽的优点。不像曾经的ole控件以及ActiveX,你全然能够重写Delphhi标准控件,并且网上这方面的资源非常多。    关于怎样编写VCL控…

    2022年9月25日
    3
  • htaccess文件中RewriteRule 规则参数介绍

    htaccess文件中RewriteRule 规则参数介绍.htaccess文件<IfModulemod_rewrite.c>RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]</IfModule&gt…

    2022年7月15日
    16
  • 推荐一个命名变量的神奇网站 CODELF

    推荐一个命名变量的神奇网站 CODELF推荐一个命名变量的神奇网站CODELF在我们写程序的时候,总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐的命名肯定是英文的驼峰命名。今天给大家推荐一个网站:https://unbug.github.io/codelf/这个网站可以根据你输入的关键词,给出很多变量命名的推荐。并且支持中文。另外,针对各种主流编辑器,还有插件。非常推荐大家收藏一下这个

    2022年5月4日
    227
  • Arthas – Java 线上问题定位处理的终极利器「建议收藏」

    Arthas – Java 线上问题定位处理的终极利器「建议收藏」前言在使用Arthas之前,当遇到Java线上问题时,如CPU飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后jps、jstack、jmap、jhat、jstat、hprof等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用Arthas轻松定位,迅速解决,及时止损,准时下班。1、Arthas介绍Arthas是Alib…

    2025年8月22日
    6
  • GridView DataFormatString 的用法总结

    VS2005下BoundField列如何使用DataFormatString属性  HtmlEncode=”False” 完整日期时间格式(longdate+longtime)dddd,MMMMdd,yyyyHH:mm:ssg一般格式(shortdate+shorttime)MM/dd/yyyyHH:mmG一般格式(shortdat

    2022年4月7日
    36

发表回复

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

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