Мне нужно проанализировать большой файл XML, используя дерево свойств в библиотеках повышения. Как использовать их ТОЛЬКО вместо включения целых библиотек повышения?
Использовать только дерево свойств из библиотек повышения
- stackoverflow.com/a/10818989/453271 может помочь. Короче говоря, вы можете свести к минимуму набор библиотек повышения, включив только те, от которых зависит
Boost.PropertyTree
. Вам все равно понадобятся основные заголовки с общими определениями препроцессора и т.д. 19.08.2018 - @AndriyTylychko есть еще одна проблема, я не могу включить ее в свой проект qt, и это дает мне ошибку, включая некоторые файлы, такие как этот: mini-boost\libs\mpi\src\python\collectives.cpp:14: error: C1083 : Не удается открыть включаемый файл: 'boost/python.hpp': Нет такого файла или каталога 19.08.2018
Ответы:
Вам вообще не нужно включать все библиотеки повышения. Например, если вы посмотрите краткое руководство в разделе соответствующую страницу документации по увеличению для деревьев свойств XML, вы видите, что вам нужно только включить следующее:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
Чтобы получить полностью функциональный код учебника, скомпилируйте его без ошибок.
Итак, это отвечает на ваш вопрос:
Как использовать их ТОЛЬКО вместо включения целых библиотек повышения?
Но если вы на самом деле имели в виду необходимость упаковывать/развертывать все библиотеки boost, а не включать все библиотеки boost, тогда у вас < href="https://www.boost.org/doc/libs/1_68_0/tools/bcp/doc/html/index.html" rel="nofollow noreferrer">инструмент bcp, сама является частью boost (также упоминается это сообщение), чтобы помочь вам разобраться во всем этом и точно знать, какие части библиотеки необходимы для использования библиотеки property_tree.
Я запустил это для вас:
bcp --list property_tree
и результаты хорошие ... слишком много времени, чтобы вставить этот ответ. Например, сама библиотека property_tree зависит от довольно большой части всех библиотек повышения.
Таким образом, не будет такой заметной разницы между упаковкой всего повышения как части вашего проекта и отправкой только того, что необходимо для сборки property_tree.
Итог: если все, что вам нужно, это возможности синтаксического анализа XML, а все возможности Boost слишком велики для вас, я предлагаю проверить одну из множества библиотек XML например, TinyXML-2 — это «простой, небольшой, эффективный анализатор XML на C++, который можно легко интегрировать в другие программы».
Прямой вопрос: это только заголовок, так что никакого реального смысла.
Что гораздо важнее, так это:
Мне нужно разобрать большой файл XML с помощью дерева свойств
Вам нужно выбрать один:
- Мне нужно разобрать большой файл XML
- Мне нужно [...] использовать дерево свойств [red.]
Дерево свойств Boost НЕ является библиотекой XML. Если вам нужно проанализировать XML общего назначения, вы не можете использовать Boost Property Tree, иначе вы очень скоро пожалеете об этом выборе. См. раздел Какой синтаксический анализатор XML следует использовать в C++?`