采用ctkPluginFramework作为一个插件系统开发框架确实有很多优点。

有些车站最近收到的一封信,每个人都想用ctkPluginFramework但我不知道如何建立,本教程对谈ctkPluginFramework插件系统在Windows下的编译过程。

准备条件:

1. 安装Git,我们通过它来下载CTK的源代码。

2. 安装CMake。我们用它来生成vs下的sln解决方式文件。

相关网站:

1. CTK的官网:http://www.commontk.org/index.php/Main_Page

2. CTK源代码下载地址:https://github.com/commontk/CTK

编译步骤:

注意:以下文件夹中出现的文件,因为是我已经编译过的,因此可能会和刚下载的多出非常多文件。在这里仅说明流程是如何的。

1. Git下载源代码包。Git下载地址:https://github.com/commontk/CTK.git 。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG91cWQyMDEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" height="207" width="801">

2. 利用cmake打开最外层的CMakeList.txt文件。选择ctkPluginFramework子项,生成sln文件。

Git下载完毕后,其文件夹结构例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG91cWQyMDEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" height="471" width="807" alt="">

如上图。打开cmake工具。选择刚下载的CTK文件夹,它会自己主动依据CMakeList.txt文件载入子项目,例如以下图所看到的。

选择ctkPluginFramework模块。点击Generate, Configure;完毕后,查看是否生成sln文件,注意:此处一定要勾选上图中标注的CTK_ENABLE_PluginFramework,不然编译生成的sln文件也无法生成终于的CTKPluginFramework.dll文件;

3. VS2010下打开sln文件。进行编译生成CTKPluginFramework.dll和CTKCore.dll。

使用VS2010打开sln文件后,结构例如以下所看到的:

选择ALL BULID编译完毕。就可以生成终于的CTKPluginFramework.dll,插件系统所应用的dll就是该文件。

终于,在CTK/CTK-build/bin/debug/下就可以生成终于的CTKCore.dll和CTKPluginFramework.dll文件以及相应的lib文件,再利用头文件就能够构建基于插件开发的系统,例如以下图所看到的:

总结:

如上所看到的,ctkPluginFramework的编译还是非常easy,关键是要和业务结合。在项目中合理地使用它,相信它会给大家带来意想不到的优点,尤其是面对大型项目、多人协作开发的过程中。怎样构建一个项目的结构以及怎样在项目中使用插件式开发,CTK的官方网站也相关介绍,但我觉得不是很清楚,在接下来的写博文的具体使用。

版权声明:本文博主原创文章,博客,未经同意不得转载。

【夸QT在十五】ctkPluginFrameWork插件系统Windows编译器的更多相关文章

  1. 【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战

    "使用ctkPluginFramework插件系统构建项目实战",这篇文章是写博客以来最纠结的一篇文章. 倒不是由于技术都多么困难,而是想去描写叙述一个项目架构採用ctkPlugi ...

  2. [原]Jenkins(十五)---jenkins插件之deploy

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  3. Android核心分析之十五Android输入系统之输入路径详解

       Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题.按键,鼠标等用户消息 ...

  4. 一百四十五:CMS系统之帖子加精和取消加精

    模型 class HighlightPostModel(db.Model): """ 帖子加精信息 """ __tablename__ = ...

  5. 一百三十五:CMS系统之UEditoe编辑器集成以及配置将图片上传到七牛

    富文本编辑框,选择UEditor 下载地址:http://ueditor.baidu.com/website/download.html 使用说明:http://fex.baidu.com/uedit ...

  6. 一百二十五:CMS系统之首页轮播实现

    把base模板分为左右两块版心 .main-container{ /*整体版心*/ width: 990px; margin: 0 auto; overflow: hidden;}.lg-contai ...

  7. 一百一十五:CMS系统之实现点击更换图形验证码功能

    把验证码渲染到到页面上 访问,显然,是标签有个内边距 去掉内边距 加一个class 如果放大看的话,还有问题 用js实现点击更换图形验证码:生成查询字符串的形式访问图形验证码接口的url,放到img标 ...

  8. Gradle 1.12用户指南翻译——第四十五章. 应用程序插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  9. Gradle 1.12用户指南翻译——第二十五章. Scala 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

随机推荐

  1. (三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GE ...

  2. 文件比较,文件夹比较-- vimdiff,beyond compare, compare suite, WinMerge,Kdiff3

    文件比较,文件夹比较-- vimdiff,beyond compare, compare suite, WinMerge,Kdiff3  有一个项目的源码包需要比较,400M以上,这就要找个好的工具了 ...

  3. OGEngine教程:声音载入

    以下介绍声音资源从载入到播放的一个流程 首先,我们将须要的音频文件放到assets文件夹下,OGE中SoundRes和MusicRes为我们封装了非常多经常使用的方法,能够用于载入及播放等经常使用功能 ...

  4. WM_SYSCOMMAND消息命令整理 good

    注意:1. 使用WM_SYSCOMMAND时,鼠标的一些消息可能会受到影响,比如不能响应MouseUp事件,可以在窗口中捕获WM_SYSCOMMAND消息,并判断消息的CommandType来判断消息 ...

  5. 利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)

    利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)作者:Tuuzed(土仔)   发表于:2008年3月3日23:12:38 版权声明:可以任意转载,转载时请 ...

  6. mvc action 有多种跳转

    在ASP.NET mvc下,action 有多种跳转方式: return RedirectToAction("Index");//一个参数时在本Controller下 如果Redi ...

  7. android中设置TextView/Button 走马灯效果

    在Android的ApiDemo中,有Button的走马灯效果,但是换作是TextView,还是有一点差异. 定义走马灯(Marquee),主要在Project/res/layout/main.xml ...

  8. Fluentd: Open Source Log Management

    Fluentd: Open Source Log Management "Fluentd" is an open-source tool to collect events and ...

  9. Linux从用户层到内核层系列 - GNU系列之glibc介绍

    题记:本系列文章的目的是抛开书本从源代码和使用的角度分析Linux内核和相关源代码,byhankswang和你一起玩转linux开发 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswa ...

  10. android4.3环境搭建

    方案一: 首先android环境搭建有如下几个东西是必须准备的: 1.  Eclipse (下载地址:http://www.eclipse.org/downloads/,建议至少3.4及以上版本) 2 ...