5

出于求知欲,我想知道为什么 boost::filesystem 库有一个编译组件,而在其他情况下不需要编译组件。编译部分中有什么不能在 hpp 中?

真正让我困惑的是,无论如何我都会在我的计算机上编译这部分(在使用库之前),因此我希望每次构建应用程序时都可以甚至更喜欢执行我在 BJam 中所做的相同编译。

为什么会有额外的.so/ .a 文件?

4

1 回答 1

6

一些 boost 库只有头文件,而其他一些需要构建(系统、文件系统、图形、mpi、序列化等);可以将几个 boost 库配置为仅头文件或单独构建。

单独构建的库的优势非常明显:您自己的项目编译速度更快,并且依赖的外部代码更少。

然而,构建复杂性是一种权衡。

于 2012-05-21T08:17:04.500 回答