如何让QtCreator在CMake项目中将头文件和源文件分别显示?

5
这不是一个编译相关的问题,而更多是一个视觉问题...
我有一个使用CMake设置的项目(这不是一个Qt项目)。当我用QtCreator打开这个项目时,它可以很好地找到所有相关的文件,并且在项目浏览器中按字母顺序排列文件:
Project
 + abc.cpp
 + abc.h
 + def.cpp
 + def.h

然而,如果我使用QtCreator和基于QMake的项目,头文件和源文件会很好地分开,就像这样:
Project
 + Headers
 |  + abc.h
 |  + def.h
 + Sources 
    + abc.cpp
    + def.cpp

问题:如何在Qt Creator中实现头文件和源文件的分离?我尝试使用SOURCE_GROUP("Headers" FILES abc.h def.h),虽然在Visual Studio中有一定效果,但在Qt Creator中无法实现。还有其他的建议吗?

1个回答

1
具体来说,针对CMake,可以这样做:

ADD_CUSTOM_COMMAND(OUTPUT
    ${CMAKE_BINARY_DIR}/include/res.h ${CMAKE_BINARY_DIR}/Sources/abc.cpp
    COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/Headers/abc.h
DEPENDS ${CMAKE_SOURCE_DIR}/resources/res.gen)

如需更多选项和详细信息:

当然,如果你喜欢使用Qt Creator编辑文件,也可以继续使用。在Qt Creator的主控制面板中,您需要在左上角菜单中选择:

File > New File or Project > Files and Classes > C++ :

那么你有三个选项:

  • C++类:这个选项会生成源文件和头文件的子文件夹,并自动将头文件和源文件添加到相应的文件夹中。
  • C++源文件:这将创建并仅添加具有相应子文件夹的源文件到您的项目中。
  • C++头文件:这将创建并仅添加具有相应子文件夹的头文件到您的项目中。

选择您需要的选项,它将在您的项目文件夹下以您想要的方式组织。


4
抱歉,但这并不能回答问题...该问题是关于如何使Qt Creator将已存在的CMake项目文件分离成头文件和源文件“文件夹”的。我不需要创建新文件,只需要重新组织现有文件的位置。 - Ferenc Deak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接