gpt4 book ai didi

c++ - 如何编译 Boost.Process 库?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:35:12 33 4
gpt4 key购买 nike

所以有Boost.Process 2006 , Boost.Process 2008和最近的 Boost.Process seems like 2009 by looking at sources)我需要一些关于如何编译那个野兽的分步指导。因为我完全不知道如何做这样的事情。

所以对于通用官方 Boost,我明白应该做什么

没有管理权限:

  • 下载最新的 Boost 版本。
  • 解压,将下载的内容提取到某个文件夹中。
  • 在终端中打开该文件夹(例如,您可以打开“cmd”或“终端”,使用cd absolute/path/to/directory/with/extracted/Boost之类的命令,而不是使用命令显示文件夹内容 ls 在 Unix like OS (Mac, Linux) 和 dir 在 Windows - 在输出中你应该能够找到 boost-build.jam )
  • 创建两个文件夹(使用像 mkdir foldername 这样的命令)build-dirinstall-dir<
  • 运行命令./booststrap(Windows 上的booststrap.shbooststrap.bat)
  • 现在我们可以编译 Boost 并使用 ./bjam -j4 link=static threading=single,multi --builddir=./build-dir install --without-mpi --prefix=./install -目录
    • 这样的调用会将 Boost 的静态库编译到 build-dir 中。 (您可能无法从那里使用 Boost - 没有包含 header 和非常大的目录层次结构)
    • bjam 将为我们创建 Boost 的“安装”到 install-dir - 将出现包含所有 boost 库(静态版本)的文件夹和包含所有文件夹的文件夹 boost header 。
    • 我们设置 -j4 标志以在 4 个内核上编译。使用 -jN,其中 N 是编译过程中要使用的所需内核数。
    • 我们设置了 --without-mpi 标志,因为我们可能不使用它。

但是将 Real Boost 解压、编译、安装在目录 A(bjam 在文件夹 B 中)将 Boost.Process 下载、解压并提取到文件夹 C 如何编译这 3 个 Boost.Process 版本中的任何一个(没有管理权限) )?

最佳答案

我做了一两次,这是我记得的:

下载 boost 库后,例如从沙箱中,像您所说的那样将 lib 解压缩到驱动器上,例如解压缩到文件夹 C。如果您打开 C 文件夹,它通常具有与其余 boost 源相同的文件夹结构。至少在我尝试过的有限库中是这样。

从那里将提取的源文件夹中的各个文件和文件夹复制到 boost 源中的相应文件夹中。

例如在过程的情况下- 将 C/boost/process.hpp 和 C/boost/process/复制到 boost_src_dir/boost/- 将 C/libs/process/复制到 boost_src_dir/libs/。

从那里再次在 boost root 中执行 bjam(假设 bjam 可执行文件在您的路径上),在我的例子中,它构建了包括新库在内的所有内容。我记得用 boost log 和 process 来做这件事,想不出必须做任何其他事情。

这样做的缺点是所有内容都需要重新编译。也许其他人有更好的方法。

至于管理员权限,它们应该无关紧要,因为您构建 boost 的方式与构建原始版本的方式相同。

关于c++ - 如何编译 Boost.Process 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732603/

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