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