在 conan 中检索头文件

Retrieve header-files in conan

通读柯南文档,我发现关于头文件的信息很少。 重点似乎完全在于检索构建的共享库或静态库。 对于开发,我显然需要我使用的包的头文件。 我想出的一个解决方案如下(conanfile.txt)

[imports]
include, *.h -> ./include

它将 .h 文件从我的依赖项复制到我的本地包含文件夹中。 问题当然是这并没有区分不同的包,只是将所有文件放入 include-folder 中,没有子目录。 我真的不敢相信这是预期的做事方式。

我如何检索我的依赖项的头文件,同时能够将它们放在合理的路径中?

edit:我刚刚读到可以在 [imports] 设置中指定要从中复制的包。这变化很大,因为这意味着合理的目录结构是可能的。我的问题仍然存在,如果在 [imports] 中指定 .h 文件是检索头文件的首选方式。

如果您希望将每个包都复制到它自己的文件夹中,您有不同的选择:

  • 使用 deploy 生成器,您根本不需要指定 imports。所有包中的所有内容都在本地复制。如果您不是使用生成器(这是推荐的使用包的方式)直接从缓存中使用包(也是推荐的方式),那么,您很可能希望将所有包复制到本地。使用命令行或 conanfile 中的 -g=deploy 来执行此操作。
  • 使用 folder 说明符:https://docs.conan.io/en/latest/reference/conanfile_txt.html#imports
[imports]
include, *.h -> ./include @ folder=True