我需要使用boost库中的属性树来解析大型XML文件。如何仅使用它们而不是包括整个boost库?
答案 0 :(得分:2)
直接的问题是:它仅是标头,因此没有任何实际意义。
这更重要的是:
我需要使用属性树来解析大型XML文件
您需要选择一个:
提升属性树是否 XML库。如果需要解析通用XML,则不能使用Boost属性树,否则很快就会后悔。参见What XML parser should I use in C++?`
答案 1 :(得分:1)
您完全不需要包括整个Boost库。例如,如果您查看appropriate boost documentation page for XML Property Trees中的快速教程,就会发现只需要包括以下内容:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
为了获得功能齐全的教程代码,编译时应无错误。
因此,这回答了您的问题:
如何仅使用它们而不是包括整个boost库?
但是,如果您实际上是要打包/部署整个boost库 ,而不是包括整个boost库,那么您有the bcp tool, itself a part of boost(也提到了this post)可以帮助您筛选整个过程,并确切地知道使用property_tree库需要库的哪些部分。
我为您运行了此
bcp --list property_tree
并且结果很好...很久以后才能给出这个答案。例如,property_tree库本身依赖于整个boost库中的很大一部分。
因此,将整个提升打包为项目的一部分与仅交付构建property_tree所需的东西之间没有明显的区别。
底线:如果您需要的只是XML解析功能,而所有提升都对您来说太大了,那么我建议您检查一下其中的众多XML库之一such as TinyXML-2 –它是“简单,小型,高效的C ++ XML解析器,可以轻松集成到其他程序中。”