Легкая конфигурация библиотеки С++
Я ищу кросс-платформенную конфигурационную библиотеку С++ с неограниченной лицензией. Мне нужно что-то более сложное, чем стандартный файл свойств с разделами, но я не хочу использовать XML (слишком много написания: -)).
Я хотел бы написать конфигурацию следующим образом:
render =
{
window =
{
width = 800,
height = 600
}
}
Ответы
Ответ 1
Там увеличьте property_tree. license позволяет коммерческое использование.
Ваш пример:
ptree pt;
pt.put("render.window.width", 800);
pt.put("render.window.height", 600);
Это может быть, например, экспортироваться в JSON
write_json("my_config.json", pt);
который будет выглядеть как
{
"render":
{
"window":
{
"width": 800;
"height": 600;
}
}
}
Точно так же вы можете экспортировать в XML, INI и INFO.
Ответ 2
Вы также можете попробовать JsonCpp и записать свои файлы конфигурации в Json
, который имеет очень похожий синтаксис к тому, который вы как:
// Configuration options
{
// Default encoding for text
"encoding" : "UTF-8",
// Plug-ins loaded at start-up
"plug-ins" : [
"python",
"c++",
"ruby"
],
// Tab indent size
"indent" : { "length" : 3, "use_space": true }
}
Под MIT License
, поэтому он очень разрешительный.