CMake,QtCreator和头文件

时间:2014-03-10 10:59:34

标签: c++ cmake qt-creator

这不是编译相关的问题,而是视觉问题......

我有一个项目,使用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 个答案:

答案 0 :(得分:2)

特别是对于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 ++标头文件: 这将创建并添加带有相应子文件夹的头文件到您的项目。

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