当前位置: 首页 > article >正文

CTK插件框架学习-源码下载编译(01)

1、编译环境

window11、vs17、Qt5.14.0、cmake3.27.4

2、下载链接

cmake:Index of /files/v3.20

qt:Index of /

vs22以前的版本需要登录下载:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本

vs22下载:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

CTK:源码GitHub - commontk/CTK: A set of common support code for medical imaging, surgical navigation, and related purposes.

CTKData 源码: https://github.com/commontk/CTKData

注:最新版的CTK不需要下载CTKData,cmake完成后编译工程时会自动从GitHub上下载到CTK\build文件夹内,无网络环境手动拷贝,删除git路径,点击add Entry按钮添加即可。

25319718586c42daa7add7167e05bf8b.png

3、使用cmake编译

3.1

13569133b70e420f80e6038a16f20568.png

3.2

ba38b0a5aa8c43c88df7c995f779d512.png

3.3 修改源码目录下的SuperBuild.cmake文件, 将 INSTALL_COMMAND "" 修改为 INSTALL_COMMAND ${_INSTALL_CMD}

3.4 勾选CTK下几个配置项,全体模块根据需要自行勾选

CTK_ENABLE_PluginFramework
CTK_ENABLE_Widgets
CTK_LIB_PluginFramework
CTK_LIB_Widgets
CTK_PLUGIN_org.commontk.configadmin
CTK_PLUGIN_org.commontk.eventadmin
CTK_PLUGIN_org.commontk.log
CTK_PLUGIN_org.commontk.metatype

注意:qt库的路径选择!!!

0bfad5a08702476484635f36044536cd.png
3.5 修改CMAKE下安装路径,尽量不要放在C盘防止写入失败

f2f52301b9a2471aa8abc812e2422eea.png

3.6 再次点击Configure,显示配置完成,且配置项内无标红

c9c2ca8adbe846c4bfd28bdd5cc0b584.png

3.7 点击Generate,显示生成成功,Open Project按钮变为可用状态即编译成功

0278ae170ec94a5d9a35428a35d1a2e5.png

3.8 进入新建的build目录下,打开CTK.sln工程,编译即可。

注意:该编译会自动编译出工程对应的库,但是配置项的文件未改变,不区分debug/release名称。如需修改,打开库工程项目逐个修改,或修改cmake文件(暂时不会哈哈哈)

3.9 编译成功的头文件、库文件会保存到build/CTK-build文件夹内,其他工程引用即可。

3.10 注意编译CTK时使用的版本,即平台应与使用环境一致。

3.11 测试CTK

#include "CTKPlugin.h"
#include <QtWidgets/QApplication>
#include <iostream>
#include <QStyleFactory>
#include <QDir>
#include <QDirIterator>
#include "ctkPluginFrameworkFactory.h"
#include "ctkPluginFramework.h"
#include "ctkPluginException.h"
#include "ctkPluginContext.h"
#include "ctkPluginFrameworkLauncher.h"


int main(int argc, char *argv[])
{
	QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QApplication a(argc, argv);
	a.setApplicationName("ctktest");

	// 启动插件工厂
	ctkPluginFrameworkFactory* ctkFrameWorkFactory = new ctkPluginFrameworkFactory;
	QSharedPointer<ctkPluginFramework> framework = ctkFrameWorkFactory->getFramework();
	try {
		framework->init();
		framework->start();
	}
	catch (const ctkPluginException& e)
	{
		std::cout << "framework init fail" << std::endl;
	}

    return a.exec();
}

无报错,window下CTK编译测试成功!

CTK插件框架学习-新建插件(02)https://mp.csdn.net/mp_blog/creation/editor/136923735?not_checkout=1


http://www.kler.cn/a/509176.html

相关文章:

  • Linux提权-02 sudo提权
  • java使用poi-tl自定义word模板导出
  • dockerhub上一些镜像
  • 26个开源Agent开发框架调研总结(一)
  • XML在线格式化 - 加菲工具
  • 在Mac mini上实现本地话部署AI和知识库
  • 第29周:文献阅读
  • HTML应用指南:利用GET请求获取全国特斯拉充电桩位置
  • 线程池的数据结构是什么 为什么会占用堆内存 线程池是一个对象吗
  • 算法练习——链表
  • YOLOv8改进,YOLOv8检测头融合RepConv卷积,并添加小目标检测层(四头检测),适合目标检测、分割等
  • 基于微信小程序的驾校预约管理系统设计与实现(LW+源码+讲解)
  • Linux中关闭SSH的DNS解析
  • 03-最长回文子串
  • 创建NFS共享目录
  • day25_HTML
  • Linux下扫描SMB及445漏洞的实用命令与工具详解
  • Windows下的C++内存泄漏检测工具Visual Leak Detector (VLD)介绍及使用
  • mysql打开报错fail to connecto to mysql at 127.0.0.1:3306 with user root
  • Ei Scopus双检索 | 2025年第五届机器人与人工智能国际会议(JCRAI 2025)
  • 前端——Html+CSS
  • Chrome谷歌浏览器如何能恢复到之前的旧版本
  • 防止 SQL 注入的技术文档
  • C#枚举类型携带额外数据的方法
  • 正点原子repo放到自己的git服务器
  • 第k小(经典Top k问题)