我需要使用跨平台库来控制子进程。我发现的唯一成熟的推荐库是boost::process,但我是 Boost 的新手。
我只想使用这个库,但我不确定我该怎么做以及是否有其他依赖项,即我是否还需要编译另一个库或者它只是标题?我的最终目标是尽可能少地使用 Boost。我应该怎么做?
我需要使用跨平台库来控制子进程。我发现的唯一成熟的推荐库是boost::process,但我是 Boost 的新手。
我只想使用这个库,但我不确定我该怎么做以及是否有其他依赖项,即我是否还需要编译另一个库或者它只是标题?我的最终目标是尽可能少地使用 Boost。我应该怎么做?
您是否查看过BCP 实用程序?从概述部分:
bcp 实用程序是一种用于提取 Boost 子集的工具,它对于希望将其库与 Boost 分开分发的 Boost 作者以及希望将 Boost 子集与他们的应用程序一起分发的 Boost 用户很有用。
bcp 还可以报告您的代码依赖于 Boost 的哪些部分,以及这些依赖项使用了哪些许可证。
Boost Process 仅是标头,因此您不必单独编译它。我检查了一些源文件,它们似乎使用了其他一些 Boost 头文件,所以你应该下载整个东西。
如果您希望您的客户不必下载 Boost,您可以检查需要哪些文件并将这些文件与您的库一起分发。
还是只是标题?
您可以通过阅读不仅是标头的 Boost 库列表(即需要在链接文档中单独编译)来找到这一点。Boost.Process 不在需要单独编译的库列表中,因此它只是头文件。
使用boost过程不下载所有boost框架可以吗?
不是很实际。理论上,您只需要标头库的标头,但仅检查一个目录有点棘手。
我找不到如何以及是否需要编译它所依赖的另一个库
根据链接的文档,您不需要。