Thursday, December 10, 2009

Include files

Any application using LittleCMS 2 has to include just one header.

#include “lcms2.h”

The header has been renamed to lcms2.h in order to improve the adoption of version 2. In fact, both Little CMS 1.x and 2.0 can coexist installed in same machine. This is very important on platforms like linux, where LittleCMS is nested deep in the dependency tree. Little CMS 2 no longer relies on icc34.h or any file coming from ICC. All costants are now prefixed by “cms” and there is one license for all package.

Lcms2.h does expose the API, and only the API. Unlike 1.xx series, all internal functions are no longer accesible for client applications.

A special case are the LittleCMS plug-ins. Those constructs can access more functions that the API, just because they are supposed to access Little CMS internals to add new functionality. There is a specialized include file for that:

#include “lcms2_plugin.h”

This file should only be included when defining plug-ins. It defines some additional functions and is described in the LittleCMS2.0 Plugin API document.


  1. Is the current snapshot considered stable?

  2. CMS Solutions could really give aide to those people that have more tasks than everybody else. availing this CMS Solutions could get your life run a little smoother.Thanks for this very informative review. This seems to be very interesting, and very helpful for the readers.
    Keep on posting!
    CMS Solutions

  3. Well, is stable enough to do some testing, but not to be used in production code. The API is stable, but the implementation may have bugs.

  4. What is the usage of this software ?