Хорошая, простая библиотека конфигурации для большого проекта C ++? - PullRequest
6 голосов
/ 30 апреля 2009

Мы разрабатываем довольно большой проект на C ++, где для многих компонентов требуются параметры конфигурации. Мы хотели бы использовать центральное место для настройки всего (например, реестра), желательно с красивым и простым графическим интерфейсом (например, как у Firefox about:config) и простым API.

Я почти уверен, что во многих приложениях есть такая проблема, но не смог найти ни одной доступной библиотеки, которая могла бы быть легко использована для этого. Кто-нибудь знает хорошую (желательно бесплатную) библиотеку для этой цели?

Это должно работать на кроссплатформенности в Windows и Linux.

Ответы [ 6 ]

7 голосов
/ 30 апреля 2009

boost :: program_options обеспечивает унифицированную (и кроссплатформенную) поддержку конфигурации из командной строки, переменных среды и файлов конфигурации . Кажется, что он должен масштабироваться до нескольких бит большой программной системы, регистрирующей интерес к различным параметрам (например, группы опций ). Тем не менее, не очень помогает с графическим интерфейсом или постоянством (но что не так с редактированием файла конфигурации с помощью текстового редактора?).

3 голосов
/ 03 февраля 2012

Я уже использовал libconfig, хорошо работает и LGPL. http://www.hyperrealm.com/libconfig/

0 голосов
/ 26 ноября 2010

Попробуйте Конфигуратор. Графического интерфейса нет, но это простая в использовании и гибкая библиотека C ++ для анализа файлов конфигурации (от простейшего INI до сложных файлов с произвольной вложенностью и семантической проверкой). Только заголовок и кроссплатформенность. Использует библиотеки Boost C ++.

См .: http://opensource.dshevchenko.biz/configurator

0 голосов
/ 30 апреля 2009

Я часто использовал простую обертку вокруг pugxml . Я считаю, что создание класса конфигурации с проверкой параметров для перечисляемых типов и т. Д. Делает остальную часть кода намного чище. Если вы просто имеете дело с парами ключ / значение, вам придется проверять данные по всему коду. Написав собственный класс для каждого приложения, вы можете поместить все это в одном месте.

0 голосов
/ 30 апреля 2009

Библиотека для нескольких платформ ACE имеет класс конфигурации , который использует файлы конфигурации в формате Windows .ini .

0 голосов
/ 30 апреля 2009

Я использовал модифицированную версию Джона Торджо кода от TechRepublic / DDJ ( source )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...