从Boost中删除分发的安全文件

Safe Files to Remove from Boost for Distribution?

本文关键字:安全 文件 Boost 删除      更新时间:2023-10-16

EDIT:似乎BCP做了我想要的:在windows中构建boost的子集

我正在尝试分发包含我的c++源代码的Visual Studio 2010项目。我已经配置了我的VS解决方案,以包含相对于我的解决方案目录的boost库(使用$(SolutionDir))。

显然Boost包含了许多我不需要的头文件,而且它们显然增加了我想要分发的归档文件的大小。

下面是我在代码中包含的头文件。是否有任何方法可以确定我需要的$BOOST_ROOT/boost目录中的哪些.hpp文件?

#include <boost/lexical_cast.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/thread/condition_variable.hpp>
#include <boost/thread/mutex.hpp>

我已经编译了Boost,以访问文件系统库,并且$BOOST_ROOT/stage/lib目录包含许多在构建Boost时编译的文件。我需要所有这些.lib文件吗?删除它们安全吗?还是它们相互依赖?

理想情况下,我只保留我包含的头文件,以及icl所需的.lib文件,但我不确定如何实现这一点。

EDIT:这是学校的作业。代码将在用于编写作业的同一台机器上运行并评分。它们不会编译Boost/安装Boost,所以我包含了相关的库。

任何帮助都是感激的,如果你评论问题,我会尽我所能更新这个问题。

谢谢!

只需使用bcp复制Boost中实际使用的部分。

但是,如果您试图将项目与源代码一起发布,您通常希望用户能够自己编译Boost。所以你可能不应该在应用程序中分发Boost。

如果你使用的是头文件库,那就不是问题了。但是由于您使用的是Boost的已编译部分,因此用户应该能够自己编译这些部分。只是为了防止他们像很多人一样,在周围安装了Boost。