编译 CTK(Win10 + Qt 5.5 + VS2013)

前期准备

CTK下载

在编译CTK之前需要先准备好相应的编译环境和CTK源码,这里默认大家已经安装好QT和Visual Studio,如果没有安装好的,请提前安装好相关软件。
CTK源码地址:CTK的github地址
下载完CTK之后,将其进行解压操作,我将其解压到E:\CTK_make路径下
在这里插入图片描述

Cmake下载

接下来就是Cmake的下载,各位可以到Cmake官网下载:Cmake下载.
本文使用的是cmake-3.13.1-win64-x64.zip,也可以到我的github上下载,进入网页后,直接点击cmake-3.13.1即可下载:cmake-3.13.1.

下载完Cmake之后将其解压即可,我这里是将其解压到D:/software并重命名为C-Make(注:解压的位置随意)

在这里插入图片描述

编译CTK

之前已经下载好了CTK源码,我将下载好的CTK源码解压到“E:\CTK_make\”,并在该目录下新建一个目录CTK-build用来存放编译好的结果,目录如下所示在这里插入图片描述
接下来到解压Cmake的目录中,选择bin目录,点击cmake-gui.exe打开cmake界面
在这里插入图片描述
在Cmake界面将“CTK源码路径”和“用于存放CTK编译结果的目录”分别设置到“Browse source ”和“Browse Build”,如下图所示
在这里插入图片描述

Configure部分

接下来就是点击Configure进行配置,下面列举了常见的错误

常见错误1:QT默认版本错误

接下来点击Configure按钮,会出现错误Qt4 was not found on your system
在这里插入图片描述
原因是CTK默认设置的QT版本是QT4,如果你和我一样是QT5,则需要对QT版本进行修改:搜索qt,找到CTK_QT_VERSION,将4改为5
在这里插入图片描述

常见错误2:QT默认路径错误

如果在Configure过程中出现错误Could not find a package configuration file provided by “Qt5”,那么就是你之前QT安装完成后没有在“环境变量”中添加QT的路径,使得Cmake无法找到QT路径。
解决办法就是在QT5_DIR中设置自己安装的QT路径,我这里是“D:/software/qt/5.5/msvc2013_64/lib/cmake/Qt5”
在这里插入图片描述

Configure完成

最后Configure完成之后会显示Configuring done。
在这里插入图片描述

Generate部分

编译选项选择

根据个人的需求,CTK编译可以选择不同的选项,最懒的办法就是把CTK中的都选上,当然编译时间会很长,而且多出很多暂时用不到的部分,建议是按需选择,如果缺少下次在编译即可
我这里只需要使用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
在这里插入图片描述
在这里插入图片描述

除此之外,我们不需要对CTK进行调试,所以为了加快编译速度,建议搜索BUILD_TESTING,取消选中状态
在这里插入图片描述

Debug和Release区分

在编译的时候,我们经常需要分为Debug和Release版本,一个是开发过程中使用,另一个是发布时候使用。
如果什么都不做的话,最后Debug和Release编译完后,两个文件夹中的dll和lib文件很多都是一模一样的,这样当你把Debug和Release中的代码拷贝在一起的时候会存在覆盖现象,这样就需要你时不时根据需要实时更换版本。
为了编译一次,永久使用,最好在Cmake编译的时候,给Debug编译生成的文件名后面添加d以示区分。
方法:
1、在CMake界面点击Add Entry
2、在弹出的Add Cache Entry界面输入下述信息
在这里插入图片描述

Generate完成

在完成上述设置之后,点击Generate进行生成。
在这里插入图片描述

编译部分

在看到Generating done之后,Open Project按钮就可以点击,随后点击打开Visual Studio,默认是Debug,x64。
在这里插入图片描述

在解决方案资源管理器中,右键点击ALL_BUILD,选择生成

在这里插入图片描述
等待一段时间后,如果出现

========== 生成:  成功 3 个,失败 0 个,最新 0 个,跳过 0 个 ==========

就说明生成成功
随后更换解决方案配置为Release进行该模式下的编译
在这里插入图片描述

编译结果

Debug生成的结果
在这里插入图片描述

Release生成的结果
在这里插入图片描述

获取lib/dll和相关头文件

虽然我们编译完成了,但是相关dll、lib文件和头文件却需要自己选取,既不方便,同时也很容易有所遗漏
因此下面介绍一个方法,可以获取划分后的dll、lib文件和头文件

问题展示

我们仔细观察最终的显示结果,可以发现其中有这么一行:
No install step for ‘CTK’
在这里插入图片描述
这说明 CTK 没有安装。当我们单独生成INSTALL项目的时候,会产生下述错误:
在这里插入图片描述查看输出可以发现,其中有一行:“file cannot create directory: C:/Program
4> Files/CTK-install/lib/ctk-0.1/CMake. Maybe need administrative privileges.”
在这里插入图片描述
说明是因为创建文件夹权限不足的原因。那么修改的方法就是把生成目录改为权限足够的位置即可
如下图所示,搜寻Insta,找到INSTALL对应的路径,发现是在C:\Program Files下新建文件夹
在这里插入图片描述
于是我将目录更改为“E:\CTK_make\CTK-install”

在这里插入图片描述
接下来重新点击Configure和Generate,最后Open Project,点击INSTALL重新生成
最后虽然成功,但是你到项目目录并没有发现include目录
在这里插入图片描述
而且在该目录下都是cmake文件,说明并没有成功
在这里插入图片描述
为此再次到输出进行查看,发现还是输出了“No install step for ‘CTK’”
在这里插入图片描述

问题解决—文件获取

根据查询资料,发现是因为在CTK的源码文件中,一个叫 SuperBuild.cmake 文件里, INSTALL_COMMAND的默认值是“”。
在这里插入图片描述
在这里插入图片描述
我们用Notepad++打开文件(当然普通记事本也可以,不过推荐Notepad++),将 INSTALL_COMMAND “” 一行,修改成 NSTALL_COMMAND ${_INSTALL_CMD} I并保存。
在这里插入图片描述
再回到Visual Studio中,重新生成,最后dll文件、lib文件和头文件都可以得到
头文件:
在这里插入图片描述
lib和dll文件:
在这里插入图片描述

参考

CTK学习之路(一)CTK的编译(Qt 5.9.2+MSVC2015 + CMake3.16.0).
CTK环境搭建.
【大话QT之十五】ctkPluginFrameWork插件系统Windows下编译.
编译 CTK(Win10 + Qt 5.14.0 + VS2015).
VTK CMake构建时,给debug库添加d后缀.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值