编译CTK「建议收藏」

编译CTK「建议收藏」 使用ctkPluginFramework作为插件系统框架的确有着众多开发上的优势。最近收到一些站内信,大家都想使用ctkPluginFramework但是不知道如何编译,这篇教程就来讲一讲ctkPluginFramework插件系统在Windows下的编译过程。准备条件:https://wenku.baidu.com/view/83ef9e1be97101f69e3143323968011ca3…

大家好,又见面了,我是你们的朋友全栈君。

 使用ctkPluginFramework作为插件系统框架的确有着众多开发上的优势。最近收到一些站内信,大家都想使用ctkPluginFramework但是不知道如何编译,这篇教程就来讲一讲ctkPluginFramework插件系统在Windows下的编译过程。

准备条件:

https://wenku.baidu.com/view/83ef9e1be97101f69e3143323968011ca300f797.html

        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 。

             编译CTK「建议收藏」

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

            Git下载完成后,其目录结构如下:

            编译CTK「建议收藏」

            如上图,打开cmake工具,选择刚下载的CTK目录,它会自动根据CMakeList.txt文件加载子项目,如下图所示;

            编译CTK「建议收藏」             

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

            编译CTK「建议收藏」           

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

           使用VS2010打开sln文件后,结构如下所示:

           编译CTK「建议收藏」

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

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

          编译CTK「建议收藏」

总结:

        如上所示,ctkPluginFramework的编译还是很简单,关键是要和业务结合,在项目中合理地使用它,相信它会给大家带来意想不到的好处,尤其是面对大型项目、多人协作开发的过程中。如何构建一个项目的结构以及如何在项目中使用插件式开发,CTK的官网也有相关介绍,但是本人感觉不是很清晰,详细使用在下篇博文中写出。

CMake配置

编译CTK「建议收藏」

后来发现好像也不必要这样,不一定要全部选择。

注意编译完后要在环境变量中添加动态库的路径。

将编译好的CTKWidgetsPlugins.dll CTKVisualizationVTKWidgetsPlugins.dll复制到qt designer下,打开designer检查插件是否安装成功。


(错误一)

CMake提示错误为: 转换到 COFF 期间失败: 文件无效或损坏


应该是 .net Framework升级后,使得cvtres.exe版本不一致导致该错误。

解决方法:

查找是否有两个cvtres.exe。

一个是VS安装目录:C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe,

另一个是.Net Framework目录:C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。

右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本。

编译好之后记得改回来。

(错误二)

VS2010编译时若出现以下情况一直没有反应,重新启动工程编译。

[cpp] 
view plain
 copy

  1. Cloning into ‘CTKData’…  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134841.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • FastCGI介绍

    FastCGI介绍本文主要介绍FastCGI的相关知识。有关CGI的知识,点击此处查看。1.概述FastCGI实际上是增加了一些扩展功能的CGI、是CGI的改进,描述了客户端和Web服务器程序之间传输数据的一种标准。FastCGI致力于减少Web服务器与CGI程序之间进行互动的开销,从而使Web服务器可以同时处理更多的Web请求。与CGI为每个Web请求创建一个新的进程不同,…

  • 睿智的目标检测7——yolo3详解及其预测代码复现

    睿智的目标检测7——yolo3详解及其预测代码复现睿智的目标检测7——yolo3详解及其预测代码复现学习前言代码下载实现思路1、yolo3的预测思路(网络构建思路)2、利用先验框对网络的输出进行解码3、进行得分排序与非极大抑制筛选实现结果学习前言对yolo2解析完了之后当然要讲讲yolo3,yolo3与yolo2的差别主要在网络的特征提取部分,实际的解码部分其实差距不大。代码下载本次教程主要基于github中的项目https://git…

  • Java程序员必看的 14 本 Java 书籍![通俗易懂]

    Java程序员必看的 14 本 Java 书籍![通俗易懂]关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书!毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。在下面这13本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。 入门 《HeadFirstJava》作者:KathySierra/…

  • java queryinterface_COM编程中的接口查询QueryInterface的实现原理

    java queryinterface_COM编程中的接口查询QueryInterface的实现原理我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口。但是,QueryInterface实现的原理,并不是大家都很清楚,也没有哪本书仔细讲了这点。我将个人心得写下来,供有需要的人查看。首先,我们看一下基本的COM实现。一般来说,COM是通过多继承实现多个接口,如下图而对应的QueryInterface实现如下HRESULT…

  • Centos 6.9_centos iptables

    Centos 6.9_centos iptables规则集类型hash:net#创建网络规则集(可以是是网段或者IP)hash:net,port#创建网络规则集,带端口,基础用法ipsetcreatefwhash:net#创建规则集ipsetaddfw10.0.0.0/24#给新加的规则添加IP段ipsetdelfw10.68.22.1/24#删除IPi…

  • 2008年世界顶级防火墙排名[通俗易懂]

    2008年世界顶级防火墙排名[通俗易懂]2008年世界顶级防火墙排名Toptenreview网站发布了2008年世界顶级防火墙排名,与2007年十大排名相比,只评出了1—7名。现将“金银铜奖”,以及官方排名网站和排名依据提供如下——官方排名网站和排名依据:[url]http://personal-firewall-software-review.toptenreviews.com/[/url]2008年世…

发表回复

您的电子邮箱地址不会被公开。

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