ubuntu 22.04 编译安装 CTK Plugin Framework

本文介绍了如何下载必要的文件(CTK-mast,CTKData,Log4Qt),配置Qt环境,修改CMakeLists.txt和SuperBuild.cmake文件,以及执行编译步骤,确保CTKCore和相关库的构建,为后续使用提供基础环境。
摘要由CSDN通过智能技术生成
一、必要文件下载

1、CTK-mast :https://github.com/commontk/CTK
2、CTKData:https://github.com/commontk/CTKData
3、Log4Qt:https://github.com/MEONMedical/Log4Qt.git

注意:需将CTKData,Log4Qt放置在CTK-mast文件目录中
如下图
在这里插入图片描述

二、必要环境

必要环境包含cmake,gcc,g++,git,qt;

三、修改编译文件

1、设置Qt环境的路径
打开CTK-mast文件夹中的CMakeLists.txt文件,添加对Qt路径的配置,
找到Qt version配置语句段

#-----------------------------------------------------------------------------
# Qt version
#
set(CTK_QT_VERSION "5" CACHE STRING "Expected Qt version")
mark_as_advanced(CTK_QT_VERSION)
set_property(CACHE CTK_QT_VERSION PROPERTY STRINGS 5)
mark_as_superbuild(CTK_QT_VERSION)
##以下为添加的Qt环境配置  此处需要根据实际情况进行修改
set(CMAKE_PREFIX_PATH "/home/XXXX/Qt5.13.2/5.13.2/gcc_64/lib/cmake/Qt5")

2、打开部分编译开关
编译文件默认编译生成CTKCore相关的库,没有Framework和Widgets相关的库,后期使用过程中我们大概率会使用到Framework和Widgets相关的库,所以需要将其编译开关打开。
找到 CTK Libraries配置 语句段进行修改,将原本的OFF改为ON

#-----------------------------------------------------------------------------
# CTK Libraries
#

ctk_lib_option(Core
               "Build the Core library" ON)

ctk_lib_option(PluginFramework
               "Build the Plugin Framework" ON
               CTK_ENABLE_PluginFramework)

ctk_lib_option(Widgets
               "Build the Widgets library" ON
               CTK_ENABLE_Widgets OR (CTK_ENABLE_DICOMApplicationHosting AND CTK_BUILD_EXAMPLES) OR CTK_USE_QTTESTING)

3、修改CTK-mast文件夹中的SuperBuild.cmake文件
找到对应的指令段,添加的编译指令和安装目录

set(proj CTK)

set(ep_cxx_standard_arg)
if(CMAKE_CXX_STANDARD)
  set(ep_cxx_standard_arg "-DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}")
endif()

##以下为添加的编译指令和安装目录
set(_INSTALL_CMD make install)
set(CMAKE_INSTALL_PREFIX ${CTK_BINARY_DIR}/CTKInstall)

修改以下语句段

ExternalProject_Add(${proj}
  ${${proj}_EP_ARGS}
  DOWNLOAD_COMMAND ""
  CMAKE_CACHE_ARGS
    -DCTK_SUPERBUILD:BOOL=OFF
    -DCTK_SUPERBUILD_BINARY_DIR:PATH=${CTK_BINARY_DIR}
    -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
    -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
    -DCMAKE_CXX_FLAGS_INIT:STRING=${CMAKE_CXX_FLAGS_INIT}
    -DCMAKE_C_FLAGS_INIT:STRING=${CMAKE_C_FLAGS_INIT}
    -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
    -DCMAKE_MACOSX_RPATH:BOOL=${CMAKE_MACOSX_RPATH}
    ${ep_cxx_standard_arg}
  SOURCE_DIR ${CTK_SOURCE_DIR}
  BINARY_DIR ${CTK_BINARY_DIR}/CTK-build
  INSTALL_COMMAND ${_INSTALL_CMD}
  DEPENDS
    ${CTK_DEPENDENCIES}
  )

4、修改CTK-mast文件夹中CMakeExternals下的CTKData.cmake文件,
找到以下指令段,添加设置CTKData路径指令段

if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
  message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")
endif()

#此处为添加的CTKData路径
set(CTKData_DIR ${CMAKE_CURRENT_SOURCE_DIR}/CTKData)

# Sanity checks
if(DEFINED CTKData_DIR AND NOT EXISTS ${CTKData_DIR})
  message(FATAL_ERROR "CTKData_DIR variable is defined but corresponds to non-existing directory")
endif()

5、修改CTK-mast文件夹中CMakeExternals下的Log4Qt.cmake文件,
找到以下指令段,添加设置Log4Qt路径指令段

if(${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj})
  message(FATAL_ERROR "Enabling ${CMAKE_PROJECT_NAME}_USE_SYSTEM_${proj} is not supported !")
endif()

#此处为添加的Log4Qt路径
set(Log4Qt_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Log4Qt)

# Sanity checks
if(DEFINED CTKData_DIR AND NOT EXISTS ${CTKData_DIR})
  message(FATAL_ERROR "CTKData_DIR variable is defined but corresponds to non-existing directory")
endif()
四、编译

编译指令应该都知道的

mkdir build 
cd build
cmake ..
make -j8
make install

正常编译如下图。
在这里插入图片描述

编译完成后会,会打印如图内容,即表示编译正常完成。
在这里插入图片描述

编译完成后,在指定的路径中,应该会生成对应的include和lib文件了。如图,我指定的是CTKInstall路径,所以会在build下创建一个CTKInstall路径,里面会有编译生成的lib和include文件,如下图。
在这里插入图片描述
在这里插入图片描述

后续再更相关使用方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值