不用下载所有的boost框架就可以使用boost进程吗?

问题描述

我需要使用跨平台库来控制子进程。我发现的唯一成熟的推荐库是 boost::process,但我是 Boost 的新手。

我只想使用这个库,但我不确定我该怎么做以及是否有其他依赖项,即我还需要编译另一个库还是headers only?我的最终目标是尽可能少地使用 Boost。我该怎么办?

解决方法

您查看过 BCP utility 吗?从概览部分:

bcp 实用程序是一种用于提取 Boost 子集的工具,对于希望将其库与 Boost 分开分发的 Boost 作者以及希望随其应用程序分发 Boost 子集的 Boost 用户非常有用。

bcp 还可以报告您的代码依赖于 Boost 的哪些部分,以及这些依赖项使用了哪些许可证。

,

Boost Process 仅包含头文件,因此您不必单独编译它。我检查了一些源文件,它们似乎使用了其他一些 Boost 标头,因此您应该下载整个文件。

如果您希望您的客户不必下载 Boost,您可以检查需要哪些文件并将这些文件与您的库一起分发。

,

还是headers only

您可以通过阅读标头的 Boost 库列表来发现这一点,即需要在链接文档中单独编译。 Boost.Process 不在需要单独编译的库列表中,因此它只是头文件。

不用下载所有的boost框架就可以使用boost进程吗?

不是很实际。理论上,您只需要头文件库的头文件,但只检出目录有点棘手。

我找不到如何以及是否需要编译它所依赖的另一个库

根据链接的文档,您不需要这样做。