所以有Boost.Process 2006 http://www.netbsd.org/~jmmv/process/, 和最近的通过查看来源,Boost.Process 看起来像是 2009 年) http://www.highscore.de/boost/process/我需要一些关于如何编译这个野兽的逐步指导。因为我绝对不知道如何做这样的事情。
所以对于一般的官方Boost我明白应该做什么
没有管理员权限:
- 下载最新的 Boost 版本。
- 解压,将下载的内容提取到某个文件夹中。
- 在终端中打开该文件夹(例如,您可以打开“cmd”或“终端”,使用如下命令
cd absolute/path/to/directory/with/extracted/Boost
比使用命令显示文件夹内容ls
在 Unix 类操作系统(Mac、Linux)上dir
在 Windows 上 - 在输出中你应该能够找到boost-build.jam
)
- 创建两个文件夹(使用类似命令
mkdir
文件夹名称 ) build-dir
and install-dir
- 运行命令
./booststrap
(booststrap.sh
or booststrap.bat
在窗户上)
- now we can compile Boost and install it with
./bjam -j4 link=static threading=single,multi --builddir=./build-dir install --without-mpi --prefix=./install-dir
- 这样的调用会将Boost的静态库编译成
build-dir
。 (您可能无法从那里使用 Boost - 不会有包含标头和非常大的目录层次结构)
- Than bjam将为我们创建 Boost 的“安装”
install-dir
- 将出现包含所有 boost 库(静态版本)的文件夹,并包含包含所有 boost 标头的文件夹。
- 我们设置 -j4 标志在 4 核上编译。使用-j
N
where N
是编译过程中要使用的所需核心数。
- We set
--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 可执行文件位于您的路径上),在我的情况下,它构建了包括新库在内的所有内容。我记得用升压日志和进程来完成此操作,并且想不出必须做任何其他事情。
这样做的缺点是所有内容都会重新编译。也许其他人有更好的方法来做到这一点。
至于管理员权限,它们应该不重要,因为您正在以与构建原始版本相同的方式构建 boost。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)