windows编译CTK
环境准备
- CTK源码 :https://github.com/commontk/CTK
- CTKData 源码:https://github.com/commontk/CTKData
最新版本的不用下载CTKData 相关的下载会在编译的时候去下载,所以编译的时候要保证自己的网络是能够从github中下载东西的。当然你也可以拷贝
● 手动拷贝步骤
删除git路径,保证不使用git拷贝
点击 Add Entry 按钮,打开 Add Cache Entry 对话框,添加 CTKData_DIR 配置项,路径指定为 D:/CTKData-master。
如果你在编译2018的那个tag的时候出了无法找到 ctkCompilerDetections_p.h 问题 ,你可以拷贝 ..\CTK\Libs\Core\ctkCompilerDetections_p.h
到 ..\CTK-build\CTK-build\Libs\PluginFramework然后重新构建
使用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编译和测试完成。