前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编译CTK「建议收藏」

编译CTK「建议收藏」

作者头像
全栈程序员站长
发布2022-08-18 17:12:12
1.1K0
发布2022-08-18 17:12:12
举报
文章被收录于专栏:全栈程序员必看

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

使用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「建议收藏」
编译CTK「建议收藏」

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

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

编译CTK「建议收藏」
编译CTK「建议收藏」

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

编译CTK「建议收藏」
编译CTK「建议收藏」

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

编译CTK「建议收藏」
编译CTK「建议收藏」

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

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

编译CTK「建议收藏」
编译CTK「建议收藏」

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

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

编译CTK「建议收藏」
编译CTK「建议收藏」

总结:

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

CMake配置

编译CTK「建议收藏」
编译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.cn/134841.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CMake配置
  • (错误一)
  • (错误二)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档