如何识别任何平台上可能需要的boost头文件依赖性

时间:2018-09-09 00:32:20

标签: c++ boost

我正在整理一个软件包,希望人们能够下载,编译和运行。我对boost有一些最小的依赖:

#include "boost/lexical_cast.hpp"
#include "boost/program_options.hpp"
#include "boost/tokenizer.hpp"

许多用户抱怨在能够构建和使用我的软件之前需要下载和设置boost。过去,我能够通过仅包含软件所需的那些boost头文件和源库文件,并在构建过程中构建这些源文件(例如boost_program_options源文件)来对此进行补救。为此,我编写了一个小脚本,该脚本遍历了要包含的boost标头,并直接递归地找出了它们在任何构建环境中可能包含的所有标头。

但是,新的boost库对于它们如何使用预处理器字符串操作来构造要包含的文件名变得非常烦恼,我已经放弃了这种方法。可以尝试使用g ++找出要包含的标头,但这只能告诉我平台上包含的标头。不同平台上的其他用户将看到其他Boost平台特定标头中的其他内容。

我仍然希望能够构建Boost库的一小部分摘录,其中仅包含那些想要构建我的软件的人可能需要的头文件。但是我不知道该怎么做。有办法可靠地做到这一点吗?

0 个答案:

没有答案