Search Contact information
University of Cambridge Home Department of Engineering
University of Cambridge >  Engineering Department >  computing help

xcc/xccmake

xcc xcc (xccmake is the same program) is a graphical front-end for the C++ compiler (g++). It aims to make common tasks easy. You can start it by typing its name (followed, optionally, by a folder name or by source filenames), by clicking on its icon, by dragging one or more source files onto its icon, or by dragging a folder of source files onto its icon .

Buttons

Along the top of the window are several buttons

Text Fields

Below the buttons are some text fields. Some of these you can't change once xcc has started. The editable fields are

Compilation Behaviour

By default on the HP system the "-AA +DAportable" flags are used, so that the resulting program can run on as many machines as possible.

On Linux machines, "-ansi -g" are the default switches. You can add flags by changing the CXXOPTS environmental variable. For instance, typing "export CXXOPTS=-O" before typing "start ..." makes the compiler use optimisation.

The files are scanned to see if files are directly included. If so, the corresponding extra flags and libraries are included. Include files can be nested to a depth of 4. The files currently sought are

Execution Behaviour

Just before running a program on HP systems it creates a size 0, read-only "core" file in the directory of the program (if "core" doesn't already exist). This is to stop the creation of large core files.

If an executable that's about to be compiled is running, it's killed first and the user is informed.

If Control-C or Control-D is typed into the main text window it will be passed to the running process.

Customisation

Bugs

If something doesn't work, mail a clear description of the problem to Tim Love. Known problems are

September 2007 changes

December 2007 changes

A configuration file can be used using a -ffilename flag. The following example shows all the options. The override=yes option means that the include and library options set in the configuration file will replace (rather than be pre-pended to) the usual options.
# Title: arm.cnf
  # --
  # XCC Configuration file for the ARM cross compiler
  # for use with the IDP robots

  linker=arm-linux-gnu-g++
  compiler=arm-linux-gnu-g++

  override=yes

  includeflags=-I/homes/users/d/praf1/librobot
  libraryflags=-L/homes/users/d/praf1/librobot
  libraries=-lrobot.arm

  objectsuffix=arm.o
  executablesuffix=arm
© Cambridge University Engineering Dept
Information provided by Tim Love (tpl)
Last updated: November 2007