2 Installing and Using CFITSIO
First, you should download the CFITSIO software and the set of example
FITS utility programs from the web site at
http://heasarc.gsfc.nasa.gov/fitsio. The example programs illustrate
how to perform many common types of operations on FITS files using
CFITSIO. They are also useful when writing a new program because it is
often easier to take a copy of one of these utility programs as a
template and then modify it for your own purposes, rather than writing
the new program completely from scratch.
To build the CFITSIO library on Unix platforms, `untar' the source code
distribution file and then execute the following commands in the
directory containing the source code:
> ./configure [--prefix=/target/installation/path]
> make (or 'make shared')
> make install (this step is optional)
The optional
'prefix' argument to configure gives the path to the directory where
the CFITSIO library and include files should be installed via the later
'make install' command. For example,
> ./configure --prefix=/usr1/local
will cause the 'make install' command to copy the CFITSIO libcfitsio file
to /usr1/local/lib and the necessary include files to /usr1/local/include
(assuming of course that the process has permission to write to these
directories).
Pre-compiled versions of the CFITSIO DLL library are available for
PCs. On Macintosh machines, refer to the README.MacOS file for
instructions on building CFITSIO using CodeWarrior.
Any programs that use CFITSIO must of course be linked with the CFITSIO
library when creating the executable file. The exact procedure for
linking a program depends on your software environment, but on Unix
platforms, the command line to compile and link a program will look
something like this:
gcc -o myprog myprog.c -L. -lcfitsio -lm -lnsl -lsocket
You may not need to include all of the 'm', 'nsl', and 'socket' system
libraries on your particular machine. To find out what libraries are
required on your (Unix) system, type 'make testprog' and see what
libraries are then included on the resulting link line.