如何编译Boost.程序库

How to compile Boost.Process library?

本文关键字:Boost 程序库 编译 何编译      更新时间:2023-10-16

所以有Boost。Process 2006, Boost。处理2008年和最近的Boost。过程似乎2009年看资料)我需要一些循序渐进的指导,如何编译野兽。因为我不知道怎么做这种事。

所以对于一般的官方Boost,我知道该怎么做

没有管理员权限:

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

但是有真正的Boost解压,编译,安装在目录A (bjam是在文件夹B)。过程下载,解压缩并提取到C文件夹如何编译这3个Boost。进程发布(没有管理权限)?

我这样做过一两次,下面是我记得的:

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

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

。在过程的情况下—拷贝"C/boost/process.hpp"answers"C/boost/process/"到"boostrongrc_dir/boost/"目录-将C/libs/process/拷贝到boostrongrc_dir/libs/.

从那里在boost根目录中再次执行bjam(假设bjam可执行文件在您的路径上),在我的情况下,它构建了包括新库在内的所有内容。我记得我在boost日志和进程中做过这样的事情,我想不出有必要做其他事情。

这样做的缺点是所有内容都会被重新编译。也许别人有更好的方法。

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