This is a c++ library for accessing the Microsoft(tm) CHM files under Linux/UNIX systems. The code is basically built on top of the Jed Wing's CHM lib but provides many additional features. And it's of course built on top of standard c++.


The main features include:

  • directory listing and filtering
  • reading files
  • streaming file access, efficient access, makes use of the c++ iostream framework
  • provides API to read internal archive formated files (endianess, encoding, etc.)
  • topic tree access
  • archive index search
  • caching
  • endianess independence (untested)


The libCHMxx is at verion 0.2 and distributed under the GNU LGPL license. Please download here: libchmxx-0.2.tar.gz. The code was developed using the gideon (kdevelop) and gcc 3.3 on Suse Linux 8.2. As gcc's C++ support is in development previous gcc versions might not work so well and you'd need to tweak the code. As the library is built on standard c++ it might compile using other compilers and be platform independent.


The API documentation is available inline. Here's a shortcut to a little application that uses the library: chm_dissect.cpp.

Copyright © 2001-2023 Indrek Mandre