目录
1 下载ctk源码和ctkData资源。
2 建议在编译之前,安装WinSDK。
3 启动cmake。在界面上指定源码路径。新建一个文件夹,保存cmake产生的sln文件等。这里我新建的文件夹叫CTK-Build
?4 点击configure按钮,在弹出的编译器选择框中选择?Visual Studio2013 64位。
?5 设置Qt版本
6? 配置Qt-cmake
?7 将下载的ctkData解压。在cmake界面指定ctkData所在路径
8 点击configure按钮,此时configure正常完成。
?9 再次点击configure,等界面出现configure done字样,然后点击generate。此时CTK-Build目录下将出现sln文件。
10 用vs2013打开sln文件,右键点击ALL_BUILD,再点击弹出的生成选项
11 重新点击configure和generate,然后右键点击INSTALL项目,点击生成选项,install仍不能生效
?12 找到ctk源码里的文件SuperBuild.cmake。在文件底部找到 INSTALL_COMMAND "" 一行,修改成 INSTALL_COMMAND ${_INSTALL_CMD} 并保存
13 再次生成INSTALL,你会发现这次输出窗口显示“成功4个”。说明install也成功了
网上介绍如何编译ctk框架的文章很多,大多数主张改ctk的源码,然后编译。我尝试了其中一个比较详细的介绍,发现走到install这一步总是失败。尽管install这一步不是必须的,但是总给人不圆满的感觉。
另有一篇文章编译 CTK(Win10 + Qt 5.14.0 + VS2015)_blackwood-cliff的博客-CSDN博客_ctk编译,几乎不改源码,只是用cmake-gui配置一下,然后就能完成包括install在内的所有项目编译。我用vs2013尝试了,可行。这里把我的操作记录一下,并且补充几句文章没提到的东西。
1 下载ctk源码和ctkData资源。
正常来说,要从github来下载。假如下载有阻碍,可以到我的资源里ctk框架源码,以及ctkData资源-C++文档类资源-CSDN下载下载。
2 建议在编译之前,安装WinSDK。
3 启动cmake。在界面上指定源码路径。新建一个文件夹,保存cmake产生的sln文件等。这里我新建的文件夹叫CTK-Build
?5 设置Qt版本
接下来cmake将报第一个错误:找不到Qt4。这是因为你的电脑上只有Qt5,而ctk源码的配置还是Qt4。解决办法是选中 cmake界面的勾选框[Grouped] 和 [Advanced],然后展开 CTK 节点,将 CTK_QT_VERSION 配置项的值由 4 改成 5
6? 配置Qt-cmake
接下来遇到第二个错误:Could not find a package configuration file provided by "Qt5"
?展开 Ungrouped Entries 节点,设置 Qt5_DIR 为正确的 Qt 库路径。
?7 将下载的ctkData解压。在cmake界面指定ctkData所在路径
?点击 Add Entry按钮。添加 CTKData_DIR 配置项。
展开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?
展开 Ungrouped Entries 节点,取消选中 BUILD_TESTING。
10 用vs2013打开sln文件,右键点击ALL_BUILD,再点击弹出的生成选项
编译成功,但是再输出窗口里,你会发现install这一步被跳过了
原文编译 CTK(Win10 + Qt 5.14.0 + VS2015)_blackwood-cliff的博客-CSDN博客_ctk编译认为这是因为无法在C盘install。但是我实测发现,C盘是可以安装ctk的。
不过我还是不喜欢把ctk目录安装在program files里面,所以我修改了cmake的变量CMAKE_INSTALL_PREFIX,并相应新建了install的目录
?12 找到ctk源码里的文件SuperBuild.cmake。在文件底部找到 INSTALL_COMMAND "" 一行,修改成 INSTALL_COMMAND ${_INSTALL_CMD} 并保存
13 再次生成INSTALL,你会发现这次输出窗口显示“成功4个”。说明install也成功了
?你可以在CTK-install文件夹里找到头文件和库文件
|