QtCreator CMake项目 - 如何显示所有项目文件

Irb*_*bis 29 c c++ cmake qt-creator

我使用QtCreator打开CMake项目.除了CMakeLists.txt之外的一些目录仅包含头文件*.h,对于那些目录,项目树视图中的QtCreator仅显示CMakeLists.txt.如何解决?我需要查看来自QtCreator的所有项目文件.

Sla*_*ava 25

将项目视为文件系统根本不是解决方案,因为例如项目编辑器设置不适用.我不喜欢将标头添加到可执行目标,因为它们实际上并不属于那里.你有效地削弱了项目文件,以便与一个特定的IDE很好地协同工作......不是很好.更清洁的选择恕我直言:

FILE(GLOB_RECURSE LibFiles "include/*.hpp")
add_custom_target(headers SOURCES ${LibFiles})
Run Code Online (Sandbox Code Playgroud)

作为奖励,您可以将您的包含显示在单独的文件夹中.(借鉴自https://cmake.org/pipermail/cmake/2012-August/051811.html)


Jin*_*eng 13

我建议你将项目视图切换到文件系统.这将显示一个视图,您可以在其中查看所需的任何文件:

在此输入图像描述

如果您仍然需要"项目"模式,则可能需要通过单击第二个向右按钮将项目视图拆分为两个.

  • 遗憾的是文件视图是扁平的,因此不足以替代项目视图. (4认同)

Mey*_*adi 7

您应该将头文件添加到源文件列表中: add_executable(${Executable} ${Sources} ${headers})

您可以使用GLOB_RECURSEif有多个头文件:

FILE(GLOB_RECURSE INC_ALL "headers/*.h")
include_directories("headers")
add_executable(main "main.cpp" ${INC_ALL})
Run Code Online (Sandbox Code Playgroud)

不要忘记再次运行CMake(Build> Run Cmake).

  • [CMake正式不建议](https://cmake.org/cmake/help/latest/command/file.html)对您的来源进行全局化,因为CMake将无法检测何时必须根据添加,删除进行重新生成,或重命名的文件. (5认同)