编辑:看来BCP做了我想做的事:Building a subset of boost in windows
我正在尝试分发包含我的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文件,但我不确定如何实现这一点。
编辑:这是针对学校作业的。代码将在用于编写赋值的同一台机器上运行和分级。他们不会编译Boost / install Boost,所以我要包含相关的库。
感谢任何帮助,如果您对问题发表评论,我会尽力更新此问题。
谢谢!
答案 0 :(得分:2)
只需使用bcp复制您实际使用的Boost部分。
但是,如果您尝试与源一起分发项目,通常希望用户能够自己编译Boost。所以你可能不应该在你的应用程序中分发Boost。
如果您使用的是仅限标题的库,则不会出现问题。但是,由于您正在使用Boost的编译部分,因此用户应该能够自己编译这些部分。以防他们安装了Boost,就像许多人一样。