所以有 Boost.Process 2006,Boost.Process 2008 和最近的 Boost.Process 通过查看源代码看起来像是 2009 年) 我需要某种关于如何编译该野兽的逐步指导。因为我确实不知道如何做这样的事情。
所以对于一般的官方Boost我明白应该做什么
没有管理权限:
cd absolute/path/to/directory/with/extracted/Boost
这样的命令,而不是在 Unix 操作系统(Mac、Linux)上使用命令显示文件夹内容 ls
,在 Unix 上使用 dir
Windows - 在输出中你应该能够找到 boost-build.jam
)mkdir
foldername 之类的命令)build-dir
和 install-dir
./booststrap
(在 Windows 上为 booststrap.sh
或 booststrap.bat
)./bjam -j4 link=static threading=single,multi --builddir=./build-dir install --without-mpi --prefix=./install-dir
安装它
build-dir
。 (您可能无法从那里使用 Boost - 不会有包含标头和非常大的目录层次结构)install-dir
- 将出现包含所有 boost 库(静态版本)的文件夹,并包含包含所有 boost 标头的文件夹。N
,其中 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 根目录中执行 bjam (假设 bjam 可执行文件位于您的路径上),在我的情况下,构建了包括新库在内的所有内容。我记得用升压日志和进程来完成此操作,并且想不出必须做任何其他事情。
这样做的缺点是所有内容都会重新编译。也许其他人有更好的方法来做到这一点。
至于管理员权限,它们应该不重要,因为您正在以与构建原始版本相同的方式构建提升。