libconfig is a compact, portable library for reading, manipulating, and writing structured configuration files. The library includes bindings for both the C and C++ languages, and works on Linux, Mac OS X, and other POSIX-compliant operating systems, as well as Windows. A complete manual with API documentation is included.
| Tags | Software Development Libraries |
|---|---|
| Licenses | LGPL |
| Operating Systems | Mac OS X POSIX Linux Solaris Windows Windows Cygwin Windows |
| Implementation | C C++ |
Recent releases


Release Notes: This release fixes a minor parsing bug and addresses the Visual Studio compiler errors in the unit tests.


Release Notes: This version includes some bugfixes, documentation updates, and minor code cleanup. In addition, semicolons are now optional in the grammar.


Release Notes: This release fixes a memory leak and adds some minor feature enhancements.


Release Notes: This release includes bugfixes and some minor feature enhancements.


Release Notes: This release includes a bugfix and some code cleanup to eliminate compiler warnings.
Recent comments
01 Apr 2013 20:43
I tried doing an out of source build of this library but it did not work. I created a patch that fixes the issue. Please take a look at: 464128.bugs.gentoo.org...
Regards,
Karl
13 Feb 2013 15:38
Hi,
can anybody help me building libconfig with MinGW under Windows and without Cygwin??
Yours, Markus
31 Oct 2012 23:30
It seems like defining make LDFLAGS='foo' only gets applied to the C library and not the C++ one, should this be defined somewhere else or is it just a bug?
07 Apr 2012 10:51
Hi, I'm looking into using libconfig++ and in some regards it looks great
* Good documentation
* Nice format (at least compared to the limits of INI and eyesore of XML :)
* Convenient methods (I was looking into Boost property trees, and found myself wanting to write a a very libconfig-esque abstraction layer on top :)
I do have a few gripes with it though:
* I'm wanting to add methods to the libconfig::Setting class, however, since the constructor for this one is private, it looks tricky. It's noted down in the header as not supported(?), is this likely to change?
* The way that libconfig::Setting must be initialised with a reference appears to make it again very clunky to wrap around, it pretty much disables any abstraction class exposing a libconfig::Setting object, right? Why?
06 Dec 2011 10:24
really nice library. however:
- the Setting class is missing all the simple "lookup()" function (with the same semantic than the ones in the Config class).
- the readFile() and writeFile method are missing an overload taking a std::string for the file name.
- for @include directives: included files should be specified relative to the directory of the including file (not the current directory)