被Boost bcp行为困惑

时间:2014-12-13 23:25:37

标签: c++ boost

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

要使用C ++库,您需要

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

    他们在boost

  • 之下
  • 链接时的库。

    他们在libs

  • 之下

某些boost库只是标题。有些是可选的标题。我认为b2可以选择列出哪些库需要链接(并因此构建)。

你将“root”称为BOOST_DIR(BOOST_DIR=~/Desktop/test)。因此你要添加

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

然后根据您的需要:

LDFLAGS+=-lboost_system

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