文章目录
- windows编译CTK
- 环境准备
- 使用cmake-gui编译CTK
- 测试VTK
windows编译CTK
环境准备
-
CTK源码 :https://github.com/commontk/CTK
-
CTKData 源码:https://github.com/commontk/CTKData
最新版本的不用下载CTKData 相关的下载会在编译的时候去下载,所以编译的时候要保证自己的网络是能够从github中下载东西的。当然你也可以拷贝
使用cmake-gui编译CTK
-
设置好CTK源码路径和编译路径之后点击configure
源码路径和编译路径最好分开,不然容易乱掉,所以我是在源码外新建了一个build文件夹
-
手动修改SuperBuild.cmake文件, 将
INSTALL_COMMAND ""
修改为INSTALL_COMMAND ${_INSTALL_CMD}
-
如下的几个要勾选,
别忘了修改安装路径,否则可能因为C盘权限问题无法安装成功
,之后再点击configure- 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
- 接下来点击Generate,看到如下图字样即可继续下一步了
- 点击Open Project打开vs编译
之后是先生成Debug,再生成release,等待编译完成,之后去检查自己的安装路径是否已经存在了CTK的库和头文件,如果有则编译完成,如果没有请按照上面的步骤去检查一下哪一步做错了。
测试VTK
#include <QCoreApplication>
#include "ctkPluginFrameworkFactory.h"
#include "ctkPluginFramework.h"
#include "ctkPluginException.h"
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
a.setApplicationName("ctkExample");
//给框架创建名称,Linux下没有这步会报错
ctkPluginFrameworkFactory factory;//插件工厂类
QSharedPointer<ctkPluginFramework> framework;
framework = factory.getFramework();
try{
framework->init();
framework->start();
}
catch(const ctkPluginException& e){
std::cout << "framework init fail" << std::endl;
std::cout << e.message().toStdString() << " " << e.getType()<< std::endl;
}
return a.exec();
}
如果没有错误信息打印则初始化成功。
至此windows下的CTK编译和测试完成。