在Qtcreator中使用Cmake生成单个文件

在Qtcreator中使用Cmake生成单个文件,cmake,qt-creator,Cmake,Qt Creator,我知道Qt Creator支持从菜单“build”->“build”构建单个文件 “文件”,或右键单击项目树中的一个源文件以生成单个文件 但当我加载一个Cmake项目时,菜单“buildfile”和“right click”都是可用的 消失了 这是否意味着构建单个文件功能仅适用于qmake cmake项目是否支持构建单个文件?如果支持,如何实现?如果不支持 有什么解决办法吗 谢谢 LeQT当前不支持此功能。但是,您可以添加以下非常有效的hack。(此黑客将用build命令替换cleanproje

我知道Qt Creator支持从菜单“build”->“build”构建单个文件

“文件”,或右键单击项目树中的一个源文件以生成单个文件

但当我加载一个Cmake项目时,菜单“buildfile”和“right click”都是可用的

消失了

这是否意味着构建单个文件功能仅适用于qmake

cmake项目是否支持构建单个文件?如果支持,如何实现?如果不支持

有什么解决办法吗

谢谢
Le

QT当前不支持此功能。但是,您可以添加以下非常有效的hack。(此黑客将用build命令替换cleanproject命令。但您可以在需要时轻松地恢复它)

  • 确保已安装sed: sudoapt安装sed

  • 在计算机上的某个位置以“CompileSingle.sh”的名称添加以下bash脚本

    CppPath=$1

    BuildPath=$2

    Target=$(sed-E's/(/| ^)([^/])\w+/\2o/g'/dev/null

  • 启用运行脚本:

    chmod+x CompileSingle.sh

  • 转到qt creator并加载您的项目

  • 转到:项目->构建->清理步骤
  • 通过单击0按钮禁用当前步骤
  • 选择:添加清洁步骤->自定义流程步骤
  • 设置以下值:

    命令:bash

    参数:CompileSingle.sh“%{CurrentDocument:FilePath}”“%{CurrentProject:BuildPath}”

    工作目录:[放置CompileSingle.sh的路径]

  • 转到工具->选项->环境->键盘

  • 映射:项目资源管理器->清理到密钥

  • 现在,您应该能够选择一个文件并按下映射clean函数的键,以结束该函数的编译。

    CMake只创建您明确指定的目标,而不是为每个文件创建目标。qmake可能是不同的,因此Qt Creator提供了支持。我在QtCreator的问题跟踪器上添加了一个可能的副本。