对 Boost bcp 行为感到困惑

Confused by Boost bcp behaviour

本文关键字:Boost bcp      更新时间:2023-10-16

我已经下载了Boost 1.57.0并构建了bcp:

./bootstrap.sh
./b2 tools/bcp/

然后我尝试使用 bcp 提取 filesystem 模块:

./dist/bin/bcp filesystem ~/Desktop/test

但结果令人困惑:test现在有 3 个文件夹:boostdocslibsboostlibs都包含一个名为 filesystem 的文件夹,但这些文件夹中的源文件不同。为什么我有libs文件夹?我是从boost还是libs导入?

要使用C++库,您需要

  • 编译(预处理)时的标头。

    他们正在接受boost

  • 链接时的库。

    他们处于libs之下

某些提升库仅是标头。有些是可选的仅标头。我认为b2可以选择列出哪些库需要链接(因此需要构建)。

你可以把"根"称为BOOST_DIR(BOOST_DIR=~/Desktop/test)。因此,您将添加

CPPFLAGS+=-isystem $BOOST_DIR
LDFLAGS+=-L$BOOST_DIR/libs

然后根据您的需要:

LDFLAGS+=-lboost_system

等。当然,根据您最喜欢的构建系统量身定制