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、编译对应的工程目录即可生成。
- 配置和编译过程中遇到的问题总结
问题已经在编译的过程中做了说明。
更多推荐
所有评论(0)