« Home » « Learn » « Download » « Github »


Cello High Level C



Although Cello does not look like it - it is just a C library. That means that in general it can be installed and used like any other C library.

The reason I mention this is because if you get stuck, or become unsure of what to do, then looking for help in general about using C or installing C libraries will be a good way to start. If you are completely new to C it might be good to learn some very basics before diving into Cello. For this why not try my other project Build Your Own Lisp, or if you don't fancy that, you can try Learn C the Hard Way, which is a pretty good resource for newcomers and beginners.

Saying all that, installing a C library is not always a trivial matter, so here are some general instructions as to how to get started.


First download the tarball from the download link at the top of this page. This is the source code of the latest release of libCello.

In this form it is not ready to use but first needs to be compiled and then installed.


To compile Cello requires a gnu99 compatible C compiler.

Linux: You can use gcc, which can be installed via the system package manager. For example if you are using Ubuntu enter apt-get install gcc into a terminal.

Mac: XCode needs to be installed along with the command line tools. This will install a version of gcc using the clang compiler suite.

Windows: I recommend MinGW64 or Cygwin. Either of these need to be downloaded and installed and they will provide a version of the gcc compiler.

To check you have gcc installed open a terminal and type:

$ gcc --version
  gcc (rubenvb-4.7.2-release) 4.7.2

If it doesn't throw an error you've installed it successfully. Once this is the case, browse to the directory in which you unzipped the source distribution and run the following:

$ ls
  LICENSE.md  Makefile  README.md  examples  include  src  tests
$ make

This will compile the library. If there are no errors it should create a file libCello.a. You can then run the following to make the tests and ensure everything is working correctly.

$ make check


You should now have a libCello.a which you can potentially use directly in your projects. If you want to install it system wide you can run the following:

$ make install

If this does not work the user is encourage to install the library and headers manually, or include them directly in their project.

If everything has gone correctly you should be ready to play.