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编译测试成功!