FLTK was designed to be statically linked. This was done by splitting it into many small objects and desigining it so that functions that are not used do not have pointers to them in the parts that are used, and thus do not get linked in. This allows you to make an easy-to-install program, or to modify FLTK to the exact requirements of your application, without worrying about bloat. FLTK works fine as a shared library, though, and has started being included on Linux distributions.

Here are some of the core features unique to FLTK: