【夸QT在十五】ctkPluginFrameWork插件系统Windows编译器
采用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编译器的更多相关文章
- 【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战
"使用ctkPluginFramework插件系统构建项目实战",这篇文章是写博客以来最纠结的一篇文章. 倒不是由于技术都多么困难,而是想去描写叙述一个项目架构採用ctkPlugi ...
- [原]Jenkins(十五)---jenkins插件之deploy
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...
- Android核心分析之十五Android输入系统之输入路径详解
Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题.按键,鼠标等用户消息 ...
- 一百四十五:CMS系统之帖子加精和取消加精
模型 class HighlightPostModel(db.Model): """ 帖子加精信息 """ __tablename__ = ...
- 一百三十五:CMS系统之UEditoe编辑器集成以及配置将图片上传到七牛
富文本编辑框,选择UEditor 下载地址:http://ueditor.baidu.com/website/download.html 使用说明:http://fex.baidu.com/uedit ...
- 一百二十五:CMS系统之首页轮播实现
把base模板分为左右两块版心 .main-container{ /*整体版心*/ width: 990px; margin: 0 auto; overflow: hidden;}.lg-contai ...
- 一百一十五:CMS系统之实现点击更换图形验证码功能
把验证码渲染到到页面上 访问,显然,是标签有个内边距 去掉内边距 加一个class 如果放大看的话,还有问题 用js实现点击更换图形验证码:生成查询字符串的形式访问图形验证码接口的url,放到img标 ...
- Gradle 1.12用户指南翻译——第四十五章. 应用程序插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第二十五章. Scala 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
随机推荐
- exe解析
IMAGE_DOS_HEADER size 0x40 e_lfanew 0xe0 当中有0xA0的间隔数据. IMAGE_NT_HEA ...
- Xaml在string(串)定义常量和处理空间
(1)基本使用方法 xaml中能够实例化各种对象,比方在ResourceDictionary中定义字符串常量: <ResourceDictionary xmlns="http://sc ...
- Unix文本处理工具之awk
Unix命令行下输入的命令是文本,输出也都是文本.因此,掌握Unix文本处理工具是很重要的一种能力.awk是Unix常用的文本处理工具中的一种,它是以其发明者(Aho,Weinberger和Kerni ...
- Android 吸入动画效果详解
1,背景 吸入(Inhale)效果,最初我是在iOS上面看到的,它是在Note程序中,用户可能添加了一页记录,在做删除时,它的删除效果是:这一页内容吸入到一个垃圾框的图标里面.请看下图所示: ==== ...
- c语言数组应用--统计随机数并打印直方图
C标准库中生成伪随机数的是rand函数,使用这个函数需要包含头文件stdlib.h,它没有参数,返回值是一个介于0和RAND_MAX之间的接近均匀分布的整数.RAND_MAX是该头文件中定义的一个常量 ...
- 欧舒丹 L'Occitane 活力清泉保湿面霜 - 男士护肤 - 香港草莓网StrawberryNET.com
欧舒丹 L'Occitane 活力清泉保湿面霜 - 男士护肤 - 香港草莓网StrawberryNET.com 欧舒丹 活力清泉保湿面霜 50ml/1.7oz
- [置顶] 如何在Python IDLE中调试Python代码?
好久没有用Python了,居然忘记了怎么在Python IDLE中调试Python代码.百度了一下,然后还是写下来吧,以免以后又忘记了. 1. Set break point in the sourc ...
- poj 动态规划的主题列表和总结
此文转载别人,希望自己可以做完这些题目. 1.POJ动态规划题目列表 easy:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, ...
- 关于jdbc注冊驱动的那点事
看到非常多人写jdbc连接工具类的时候,都会写到Class.forName()去显示载入类,一写错点点就会抛出ClassNotFoundException,关于显示载入类,究竟会不会产生作用呢? 參考 ...
- ASA failover应用
failover的条件: 1.硬件型号必须相同 2.系统版本必须一致 3.模式必须一致 4.相同的许可和许可的数量 步骤: step 1:配置failover interface,确保状态 up LZ ...