boost - 将多个文件预处理为单个文件

标签 boost boost-preprocessor

我正在尝试简化使用 boost::shared_ptr 的分发和构建过程(Android 和 STLport 不包括 shared_ptr)。我使用 Boost 的 bcp 复制了 shared_ptr 及其依赖项。这导致 340 个依赖项分布在多个目录中:

$ mkdir boost-shared_ptr
$ cd boost-1.54.0
$ ./dist/bin/bcp shared_ptr ../boost-shared_ptr
...
$ cd ../boost-shared_ptr
$ find . -type f | wc -l
340

有没有办法将 boost::shared_ptr 预处理成单个文件,然后将该单个文件 (shared_ptr.hpp) 放入我的 deps/ 目录?

最佳答案

这是个坏主意。许多弊端很少有优点。始终“按原样”使用 boost 文件。在大多数情况下,它们都是经过精心设计的。

我敢打赌,如果您将包含原始 boost 文件的库提供给他们,您的用户将会受益。他们将能够自行下载和/或升级版本。

关于boost - 将多个文件预处理为单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799466/

相关文章:

c++ - 使用可变参数模板的通用访问者

c++ - Boost 预处理器中的迭代限制

c++ - 使用 Boost.Preprocessor 来减少代码重复

c++ - 使用 Boost 预处理器将 Any 提升到 Boost Variant

c++ - 尽量避免重复调用一个函数

c++ - Visual C++ 核函数 : boost include files not found

c++ - 如何在不关闭 C++ 进程的情况下更改日志记录级别

c++ - 无法让 BOOST_FOREACH 与我的自定义类一起工作

c++ - 在 boost iostream filtering_ostream 中,sync()、strict_sync() 和 flush() 有什么区别?

C++预处理器基于参数的条件扩展