使用Boost unordered_map

3
我想在项目中使用 boost::unordered_map 而不必下载整个 Boost 包。请问该如何操作?
2个回答

6

0

你至少需要头文件,因为Boost包彼此依赖。你可能只想选择所需的头文件,但这真的会让你很烦恼,并且需要花费很多时间。算法如下:

  1. 仅包含boost/unordered_map
  2. 当预处理器抱怨找不到头文件时:
    • 添加该头文件。
    • 重新编译。

最终你将只得到必要的头文件。但我看不出这种解决方案有任何优势。


看我的答案,不需要进行所有的手动操作。此外,它只占完整库大小的2%这一事实很可能被认为是这个解决方案的优点 :) - sehe
先生,你刚刚赢了我 :) 我不知道有这样的工具存在。 - Archie
无论如何,如果你想采用“手动”方法(这是获取所需标题的最小绝对集合),最好只需通过预处理器运行源代码,然后像 egrep '^# [0-9]+ "' SpiritParser.i | cut -d'"' -f2 | sort -u | grep boost 这样做就可以了。无需尝试和错误。请注意,不同的编译器标志可能会导致不同的结果标题列表。 - sehe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接