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按钮添加即可。

3、使用cmake编译
3.1

3.2

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

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

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

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

3.8 进入新建的build目录下,打开CTK.sln工程,编译即可。
3.9 编译成功的头文件、库文件会保存到build/CTK-install文件夹内,其他工程引用即可。
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编译测试成功!



















