好的、简单的C++大型项目配置库?

6
我们正在开发一个相当大的C ++项目,其中许多组件需要配置参数。我们希望使用一个中央位置来配置所有内容(如注册表),最好配有漂亮简单的GUI(例如像Firefox的about:config)和简单的API。
我很确定许多应用程序都有这种问题,但是找不到可供立即使用的库。有人知道可以用于此的好(最好是免费的)库吗?
这应该在Windows和Linux中跨平台工作。

如果你的项目是一个Windows项目,有没有不使用注册表的理由?或者它是跨平台的吗? - Doug T.
6个回答

6

boost::program_options 提供了统一(且跨平台)的支持,用于从命令行、环境变量和配置文件中进行配置。它似乎可以扩展到大型软件系统的多个部分,以注册对各种参数的兴趣(例如选项组)。不过它对 GUI 或持久性方面的帮助不是很大(但使用文本编辑器编辑配置文件有什么问题呢?)。


它有点符合“简单”的要求。我不会说它很“好”,更像是“丑陋的”(参见“黄金三镖客”),但它能完成任务。 - einpoklum

3

我曾经使用过它,发现了泄漏问题。下载最新版本后,仍然存在泄漏。 - Mel Viso Martinez

0

尝试使用Configurator。虽然它没有图形用户界面,但这是一个易于使用且灵活的C++库,可用于解析配置文件(从最简单的INI到具有任意嵌套和语义检查的复杂文件)。仅包含头文件,跨平台,使用Boost C++库。

请访问:http://opensource.dshevchenko.biz/configurator


0

0

多平台 ACE 库有一个 配置 类,使用具有 Windows .ini 格式的配置文件。


0
我经常在pugxml周围使用一个简单的包装器。我发现创建一个配置类,其中包含对枚举类型等参数进行验证,可以使其余代码更加清晰。如果你只处理键值对,那么你将不得不在整个代码中验证数据。通过为每个应用程序编写自定义类,您可以将所有内容放到一个地方。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接