构建boost库的子集

kun*_*ami 8 c++ boost bjam

我正在尝试只构建一个boost库的子集.例如,我有这个代码:

TEST.CPP:

#include <boost/thread.hpp>

int main (){
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后我做

./bcp --scan test.cpp ~/dev/boost_compact/
Run Code Online (Sandbox Code Playgroud)

因此依赖项文件被复制到~/dev/boost_compact/boost.

然后,按照这个答案,我复制常规boost的根目录下的所有文件以及tools目录并运行

./bootstrap
./bjam
./bjam install
Run Code Online (Sandbox Code Playgroud)

这会将所有标头复制到目标目录,但不会构建/复制库.同样的一系列动作确实有效.我究竟做错了什么?

kun*_*ami 2

解决了问题。库没有被复制的原因是我使用了错误的 boost 目录,即

./bcp --scan --boost=<path to boost build directory> test.cpp ~/dev/boost_compact/
Run Code Online (Sandbox Code Playgroud)

当我应该使用

./bcp --scan --boost=<path to boost source directory> test.cpp ~/dev/boost_compact/
Run Code Online (Sandbox Code Playgroud)

如果现在你跑

./bootstrap
./bjam
./bjam install
Run Code Online (Sandbox Code Playgroud)

将建立图书馆。