【发布时间】:2011-06-15 10:04:09
【问题描述】:
我正在考虑在某个项目中使用Boost.Preprocessor,但我不想让整个 Boost 库成为依赖项。
我可以单独复制它并摆脱这个吗?否则,它的依赖是什么?
【问题讨论】:
我正在考虑在某个项目中使用Boost.Preprocessor,但我不想让整个 Boost 库成为依赖项。
我可以单独复制它并摆脱这个吗?否则,它的依赖是什么?
【问题讨论】:
我刚刚得到bcp 工作:
./bcp --list preprocessor --boost=/usr/local/include/boost_1_45_0/ | grep -v preprocessor
未检测到错误
没有 grep 我得到类似的东西:
升压/预处理器.hpp
升压/预处理器/算术.hpp
升压/预处理器/算术/add.hpp
升压/预处理器/算术/dec.hpp
升压/预处理器/算术/细节/div_base.hpp
升压/预处理器/算术/div.hpp
升压/预处理器/算术/inc.hpp
升压/预处理器/算术/mod.hpp
升压/预处理器/算术/mul.hpp
boost/预处理器/算术/sub.hpp
尝试使用 boost bcp 实用程序来复制它
我做了一个快速的grep -R "include" /usr/include/boost/preprocessor/* | grep -v preprocessor 并没有想出任何匹配。我可以发誓需要配置。
编辑(我的 grep-ful 很弱 =/)
grep -rh "include" /usr/include/boost/preprocessor/* | grep -v preprocessor | sort |uniq
# 错误 BOOST_PP_ERROR: 没有要包含的间接文件
# 包括 BOOST_PP_FILENAME_1
# 包括 BOOST_PP_FILENAME_1
# 包括 BOOST_PP_FILENAME_2
# 包括 BOOST_PP_FILENAME_2
# 包括 BOOST_PP_FILENAME_3
# 包括 BOOST_PP_FILENAME_3
# 包括 BOOST_PP_FILENAME_4
# 包括 BOOST_PP_FILENAME_4
# 包括 BOOST_PP_FILENAME_5
# 包括 BOOST_PP_FILENAME_5
# 包括 BOOST_PP_INDIRECT_SELF
grep -rhE "define\\s+BOOST_PP_FILENAME" /usr/include/boost/preprocessor/* | sort |uniq
# 定义 BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
# 定义 BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2)
# 定义 BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3)
# 定义 BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4)
# 定义 BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5)
BOOST_PP_ITERATION_PARAMS_# 似乎在任何地方都不是#defined。奇怪的是,它们在 ./detail/iter/forward#.hpp 中是 #undefed,所以我可能缺少一些嵌套宏或其他...
【讨论】:
-h 选项省略它。
mkdir pp; bcp preprocessor --boost=/usr/include/ pp/
如http://www.boost.org/doc/libs/1_45_0/ 所述,预处理器是一个仅标头库。不需要运行时库。
【讨论】: