gpt4 book ai didi

c++ - 将源文件的一些头依赖项添加到 cmake 目标的解决方案资源管理器

转载 作者:太空狗 更新时间:2023-10-29 21:43:36 25 4
gpt4 key购买 nike

假设我有 a.cpp作为源并将其添加到 cmake 目标:

add_executable(MY_TARG a.cpp)

如果a.cpp包括 a.h它将作为目标的依赖项添加,当我更改 header 时,一切都会正确重建,但是 a.h不会出现在我的项目的源列表中(例如在 visual studio 中)。

有没有办法把它添加到那里?我可以区分系统 header (如 <vector> )和来自同一目录结构的文件夹的 header 吗?我可能希望只添加包含在引号中而不是括号中的标题( "header.h" 而不是 <header.h> )

我正在寻找一些自动化的东西——我已经有很多 CMakeLists.txt 文件,其中只列出了 .cpp 文件,要遍历所有这些文件似乎不切实际。

最佳答案

这相当简单 - 如果您希望将文件列为 IDE 中项目的一部分,请将其列为 CMake 中目标的一部分:

add_executable(MY_TARG a.cpp a.h)

CMake 足以将其识别为 header (因此不会尝试编译它),但它会将其列在生成的 IDE 项目中。

编辑

根据寻找对现有系统的自动更改的附加信息,我认为这并不容易。但它应该仍然可行。编译器通常有办法列出他们编译的文件中包含的头文件(例如 gcc 有 -MM )。您应该能够使用此输出和您最喜欢的文本处理语言构建一次性转换脚本。

关于c++ - 将源文件的一些头依赖项添加到 cmake 目标的解决方案资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22350874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com