我正在考虑Boost.Preprocessor
在某个项目中使用,但我不想让整个 Boost 库成为依赖项。
我可以单独复制它并摆脱这个吗?否则,它的依赖关系是什么?
我正在考虑Boost.Preprocessor
在某个项目中使用,但我不想让整个 Boost 库成为依赖项。
我可以单独复制它并摆脱这个吗?否则,它的依赖关系是什么?
我刚开始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 中编辑,所以我可能缺少一些嵌套宏或其他...
如http://www.boost.org/doc/libs/1_45_0/所述,预处理器是一个仅标头库。不需要运行时库。