3

我正在考虑Boost.Preprocessor在某个项目中使用,但我不想让整个 Boost 库成为依赖项。

我可以单独复制它并摆脱这个吗?否则,它的依赖关系是什么?

4

2 回答 2

4

新答案

我刚开始bcp工作:

./bcp --list preprocessor --boost=/usr/local/include/boost_1_45_0/ | grep -v preprocessor

未检测到错误

没有grep我得到类似的东西:

boost/preprocessor.hpp
boost/preprocessor/arithmetic.hpp
boost/preprocessor/arithmetic/add.hpp
boost/preprocessor/arithmetic/dec.hpp
boost/preprocessor/arithmetic/detail/div_base.hpp
boost/preprocessor/arithmetic/div.hpp
升压/预处理器/算术/inc.hpp
升压/预处理器/算术/mod.hpp
升压/预处理器/算术/mul.hpp
升压/预处理器/算术/sub.hpp


原始答案

尝试使用 boostbcp实用程序来复制它

我做了一个快速的grep -R "include" /usr/include/boost/preprocessor/* | grep -v preprocessor,并没有想出任何匹配。我可以发誓需要配置。

编辑(我的 grep-ful 很弱 =/) grep -rh "include" /usr/include/boost/preprocessor/* | grep -v preprocessor | sort |uniq

# error BOOST_PP_ERROR: no indirect file to include
# include BOOST_PP_FILENAME_1
# include BOOST_PP_FILENAME_1
# include BOOST_PP_FILENAME_2
# include BOOST_PP_FILENAME_2
# include BOOST_PP_FILENAME_3
# include BOOST_PP_FILENAME_3
# include BOOST_PP_FILENAME_4
# include BOOST_PP_FILENAME_4
# include BOOST_PP_FILENAME_5
# include BOOST_PP_FILENAME_5
# include BOOST_PP_INDIRECT_SELF

grep -rhE "define\\s+BOOST_PP_FILENAME" /usr/include/boost/preprocessor/* | sort |uniq

# define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
# define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2)
# define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3)
# define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4)
# define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5)

BOOST_PP_ITERATION_PARAMS_# 似乎不在#defined任何地方。奇怪的是,它们#undef在 ./detail/iter/forward#.hpp 中编辑,所以我可能缺少一些嵌套宏或其他...

于 2011-01-25T18:56:31.657 回答
0

http://www.boost.org/doc/libs/1_45_0/所述,预处理器是一个仅标头库。不需要运行时库。

于 2011-01-25T19:09:09.983 回答