我正在尋找具有非限制性許可證的跨平臺C++輕量級配置庫。我需要比標準屬性文件更復雜的部分,但我不想使用XML(寫太多:-))。C++輕量級配置庫
我還想寫配置是這樣的:
render =
{
window =
{
width = 800,
height = 600
}
}
我正在尋找具有非限制性許可證的跨平臺C++輕量級配置庫。我需要比標準屬性文件更復雜的部分,但我不想使用XML(寫太多:-))。C++輕量級配置庫
我還想寫配置是這樣的:
render =
{
window =
{
width = 800,
height = 600
}
}
還有提升的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和信息的方式相同。
以我的經驗.. Boost遠不是輕量級的庫,但我會看看它,因爲它看起來很有前途 – runnydead 2012-02-12 11:24:35
@hubrobin:你不需要整個Boost庫來完成這項工作,IIRC。 Boost有一個名爲[bcp](http://www.boost.org/doc/libs/release/tools/bcp/doc/html/index.html)的工具,專門用於提取單個圖書館。 – 2012-02-12 13:18:53
您也可以嘗試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
所以這是非常寬容的。
我找到了[libconfig](http://www.hyperrealm.com/libconfig/)。我看起來不錯,但它使用例外錯誤報告... – runnydead 2012-02-12 11:27:12
我也認爲libconfig是相當不錯的。我在C++ API中遇到了一些問題,而且似乎沒有Java的實現(這意味着只有C/C++應用程序可以讀取配置文件),但現在它仍然是我的前往配置庫。 – 2014-02-09 01:42:36