lrc - the Linux Resource Compiler

Programs may sometimes have more than just application libraries and an executable file. Especially games have graphics and sounds, and most of the time a lot of other stuff. One way to manage these additional items is to install them file by file, but this looks (IMHO) not very professional [1]. It is often better to pack these files into one big file. Windows has for that purpose the so called resources: a resource compiler reads a .rc file. All listed files in that .rc file are merged together in one big .res file. Unfortunately I haven't found anything like that for Linux, so I decided to write one myself, based on that idea.

lrc consists of two parts: The compiler itself, a command line tool called lrc and a library to extract the resources from the generated Resource Data file. The library is called liblrc.


lrc is the command line compiler. In the tradition of Unix programs, a successful compilation will cause no output. Error or warning texts will be displayed in the same manner as gcc does: <filename>:<line>:<column>: error: <Error cause>

lrc creates a so called .rdf [2] file which contains all data, encrypted and/or compressed if desired. That file can be loaded at runtime or directly linked to the executable at link time.


liblrc is the counterpart of the lrc command line program. It is a C++ library that offers classes to load and de-compile a given .rdf file.


Documentation about the compiler and the library can be found on the Wiki on BitBucket: <>

Contributions / Patches

Contributions in form of corrections, tanslations, etc. are welcome. You may send them as patches (if possible git format), or - if you use Mercurial - as bundle or I might pull from your repository if it is reachable in the Net.


Do you like lrc? Do you hate lrc? Either way, send me a message! Either using the BitBucket message interface or directly an e-mail.

Licence and code

The licence for lrc and liblrc is the GNU Lesser General Public License (LGPL) version 3 or any later version. You'll find the LGPL here.

The source code is hosted on a public repository at BitBucket. The URL is <>.

[1]It might also cause performance problems if there are many files to load
[2]rdf stands for Resource Data File