Vs2015下编译CTK框架
2019年2月来的猝不及防,一年一年过得真快,留不住时光,只能通过自己的书写留下残存的记忆。以前没有感觉,年龄越大,越感觉记录的重要性。
在C++的开发道路上已经走了有段时间,最近才感觉自己掌握的太少。开发个简单的客户端什么的,真的没什么技术含量。但是自己又深入不下去。希望来年能多看几个开源的代码,ReView自己以前老的代码。不要以为冰山只有水面上的那么大,潜入水中,才能窥得全貌。这里开年第一篇,想了解下OSGI(Open Service Gateway Initiative)规范下的CTK里面的CTKPluginFramework插件系统框架。把自己在vs2015上面编译框架的流程和问题记录下来。
CTK源码下载:https://github.com/commontk/CTK (CTK官网)
CMake下载:https://cmake.org
注:这里我下载cmake后没有安装,而是解压后直接打开的cmakegui.exe。安装和直接下载release包都可以。
- 配置Cmake
目的:利用cmake打开最外层的CMakeList.txt文件,选择ctkPluginFramework子项,生成sln文件。
1、解压CTK-master.zip,修改qt的配置文件,因为ctk默认的qt版本为4.6以上的版本,我自己本地环境用的是QT5.9.6。修改配置文件的目录为CTK-master\CMake\ctkMacroSetupQt.cmake。如下图进行修改,将默认的版本号从4改成5。

如果不修改,在进行config读取配置的时候会出现如下图所示的提示信息。出现如下提示修改的时候需要清下Cache,切记。

2、通过cmakegui.exe进行配置,输入代码路径和库路径如下图:

3、进入configure页面,按照自己的所需选择编译环境,我这里选择的是Vs2015x86.点击finish后等待片刻即可。

- 编译CTKPluginFramework
4、点击configure后如果下面编译提示信息如图所示,发现需要从git上cloneCTKData,如果出现这样的错误可以手动从CTKData上下载,然后将CTKData放到一个固定的位置(例如放到CTK-master目录中),并在CTK-master\CMakeExternals\CTKData.cmake中指定它的位置。设置完路径后继续configure。


5、编译成功(出现Configuring done)以后需要设定更改编译的默认配置,因为有些库在默认的情况下是不会生成的,他们的配置选项开关被设置为OFF。
所以,要生成CTKPluginFramework.dll、CTKWidget.dll,则需要修改CTK-master/CMakeLists.txt,将他们的开关设置为ON:

此外,还有一些核心插件也需要手动打开才能生成

注:如果想要生成log,eventadmin等工程把cmakelist里面org.commontk.plugingenerator.core plugin、org.commontk.plugingenerator.ui plugin、Enable Qt Widget libraries、Enable Plugin Framework开关打开即可。

6、默认情况下,CTK在编译时是不会自动安装的,打开CTK-master\SuperBuild.cmake做如下的更改

7、点击generate生成编译文件。点击openProject打开工程目录。

8、打开后点击all-build进行编译。弹出如下提示框并点击重新加载按钮进行重新加载。


9、重新加载后可以看到CTKPluginFramework的工程目录。

10、编译对应的工程目录即可生成。
- 配置和编译过程中遇到的问题总结
问题已经在编译的过程中做了说明。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)