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


相关推荐

  • web图书销售管理系统_解读图书管理系统为书店带来的好处

    web图书销售管理系统_解读图书管理系统为书店带来的好处图书管理系统的出现,极大地推动了大中小型书店的发展,使书店管理工作更加高效成为书店管理的重要软件。其中图书管理系统给行业的好处更是大大方便了行业的运作。一、图书管理系统在书店中的应用,主要是为了进销存的目的,为了提高书店的效率加速发展,但没有选择合适的图书管理系统往往事与愿违。图书管理制度的选择是书店经营管理工作中的重要环节。图书管理系统,尤其是进销存功能,是书店在经营过程中对采购、销售、财务等进…

    2022年6月8日
    42
  • 异常:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 已解决

    异常:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 已解决既然和DispatcherServlet有关,那无非就是MVC的映射出了问题

    2022年6月24日
    64
  • ffmpeg解析MP4封装的avc1编码问题「建议收藏」

    ffmpeg解析MP4封装的avc1编码问题「建议收藏」0、问题  遇到的问题:使用ffmpeg直接读取avc1编码的mp4视频,将读取到的帧写下来(H264码流),播放失败。  原因:ffmpeg解码获取的AVPacket只包含视频压缩数据,并没有包含相关的解码信息(比如:h264的sps,pps头信息),这些解码信息包括编码的profile,level,图像的宽和高,deblock滤波器等。没有这些编码头信息解码器就不能进行解码。1、mp4…

    2022年10月17日
    0
  • random函数用法笔记

    random函数用法笔记1.导入random模块importrandom2.生成(n,m)之间的随机整数>>>importrandom>>>a=random.randint(1,10)#1<=a<=10且n,m大小必须n<m>>>print(a)3>>>3.取0-1之间随机浮点数…

    2022年5月20日
    35
  • Matlab画图常用的线条符号、颜色

    Matlab画图常用的线条符号、颜色线型说明标记符说明颜色说明-实线(默认)+加号符r红色–双划线o空心圆g绿色:虚线*星号b蓝色:.点划线.实心圆c青绿色x叉号符m洋红色s(square)正方形y黄色d菱形k黑色^上三角形w白色v下三角形&gt;右三角形&lt;左三角形p(pentagram)五角星h(hexagram)六边形square正方形pentagram…

    2022年6月12日
    343
  • rsyslogd 重启_Linux系统rsyslogd服务及启动方法[通俗易懂]

    rsyslogd 重启_Linux系统rsyslogd服务及启动方法[通俗易懂]在CentOS6.x中,日志服务已经由rsyslogd取代了原先的rsyslogd。RedHat公司认为rsyslogd已经不能满足工作中的需求,rsyslogd相比rsyslogd具有一些新的特点:基于TCP网络协议传输日志信息。更安全的网络传输方式。有日志信息的即时分析框架。后台数据库。在配置文件中可以写简单的逻辑判断。与syslog配置文件相兼容。rsyslogd日志服务更加先进,功能更…

    2022年8月15日
    5

发表回复

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

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