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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Feign原理_feign源码

    Feign原理_feign源码feign是一种http客户端,可以让你通过简单地注解的方式,调用其他的http服务。feign提供的注解是@FeignClient,一直很好奇feign是怎么生效的,今天跟着代码一块看一下。要想使用feign的话,首先要在项目中打上@EnableFeignClients注解,从代码中可以看到,@EnableFeignClients通过@Import注解引入了Fei…

    2022年10月4日
  • 如何使用Fiddler模拟弱网情况对app进行测试「建议收藏」

    前言很多时候,我们需要在弱网情况下,对app进行测试,不可能将app放置到离路由器很远的地方,这里可以模拟弱网来测试app。那么,我们这里使用Fiddler工具来模拟弱网。使用speedtest在线测速工具来测试网络。一、Fiddler工具连接手机,设置代理打开Fiddler,进入到Tools—>options,如图所示:再次选择Connection

    2022年4月10日
  • ITOP4412 RFID RC522模块

    ITOP4412 RFID RC522模块RC522是高度集成的非接触式读写卡芯片。此发送模块利用调制和解调原理,并将它们完全集成到各种非接触式通信方法和协议中。可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。该模块有64字节的发送和接收FIFO缓冲区。本次使用的模块如下(图从网上剪切)iTop4412提供RFID模块驱动,而且手中有该模块,只是一直没有使用过,所以找出来调试一番。该模块可使用S…

    2022年7月14日
  • phpspreadsheet中文手册_php file_put_contents

    phpspreadsheet中文手册_php file_put_contents今天遇到一个问题,涉及php与excel之间数据转换。之前一直用PHPExcel,他们的开发组不更新了。但是找到了PhpSpreadsheet。一、介绍用纯php编写的库,它提供了一组类,允许您读取和写入不同的电子表格文件格式支持格式环境要求php5.6及以上php_zip支持并启用php_xml支持并启用php_gd2支持并启用安装>composerrequi…

    2022年9月17日
  • 赵青-《剑侠情缘网络版》开发回顾

    赵青-《剑侠情缘网络版》开发回顾赵青-《剑侠情缘网络版》开发回顾 赵青-《剑侠情缘网络版》开发回顾,(转自剑网1,作者应该是原剑网3技术总监)这篇文章首发于一本谈游戏研发的杂志,是赵青写的,写得非常不错。《剑侠情缘网络版》开发回顾2003年的1月,我刚刚开发完《天王》项目,正在休息、总结和规划下一个项目。《天王》是我开发的众多项目中最满意的一个,虽然这篇文字主要是对《剑侠…

    2022年7月19日
  • SSM框架面试题之Spring

    SSM框架面试题之Spring1、Spring在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:1、IOC/DI(控制反转/依赖注入):把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。2、AOP:面向切面编程。2、Spring的事务?编程式事务管理:编程方式管理事务,极大灵活性,难…

    2022年6月18日

发表回复

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

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