Compiling with Visual C++ seems to work. Be carefull to make sure that Visual C++ knows that a .cc file is a C++ file (or rename the files.) Old information: If you don't have g++, but a cfront based compiler like Sun C++ 3.0, then you should compile the files from the CC subdirectory to this directory. The String.{cc,h} files are not a complete implementation of a String class; they only provide what is used in the file poly_io.cc. For a good String class you can try the libg++ library (which I assume is installed if you have g++.) Also, rename Makefile.CC to Makefile. If you don't have g++ nor a cfront based compiler then you are on your own. Compilers which are know to work: g++ 2.4 -> 2.6.0 g++ 2.6.1 has a bug in constructor sysntax which break this code. Sun C++ 2.1, 3, 4 Irix CC on Irix 5.2 A bug which reveals itself on Ultrix mips machines is known. The fix will be incorporated in this code some day. Before compiling, skim through the Makefile. Three differences can be made: - Changing the C compiler. Standard is cc. gcc -traditional can be used on systems with proper header files (this excludes SunOS 4.1.X). Ansi C compilers give warnings on the C files, as they are in K&R C, and the header files are ANSI C / C++. - Adding the notion of a .cc file as a C++ source file. Some make's (like SGI's) do not standard recognize a .cc file as C++ - Patching libg++. Early versions of libg++ 2.5 (notably, 2.5.1 and 2.5.2) suffered a bug which caused the test porgram to hang. If you add sbscan.cc to the program (replacing the one in libg++) this bug is fixed. Better off course is to upgrade to a more recent libg++! Note that libg++ 2.4.X does not have this bug, and can be used without (known) problems. In this directory you can find the test program for the nclip library. In this directory is: lgpl.texinfo: texinfo style version of the copyright statement. test.cc: The wrapper in which we can test. Reads two clockwise oriented polygons from stdin, and clips those. Results comes on stdout. Examples format for input can be found in in_file. nclip.cc: The actual clip routine. Only file in the nclip library which is decent documented. nclip.h nclip.cc poly.cc poly.h poly_io.cc poly_io.h posadder.cc posadder.h primitives.cc primitives.h set.h: The rest of the nclip library. Not of real interest, but needed to get nclip running. sbscan.cc: Part of libg++. It is a patched version of a file from libg++ 2.5.1 err.* graph*: files, part of our standard , in-house library. Not likely to have big errors. They even come with documentation! (*.3, nroff (== UNIX man) format) They should be compiled with a K&R C compiler (like gcc -traditional.) CLASSES: Some documentation about the classes used.