Emacs/G++ on Windows Machines


You'll need three things to make your windows machine work like a Linux/Unix machine for CPS 06, 100, 108, etc.

If you are running Windows 95, 98, or NT, it's possible to set up an environment on your own machine that works like the computing environment available on the acpub clusters. This means that you can install a Unix like shell, Emacs, g++, and other tools.

We've tried to make installing this software simple, but it's not completely simple. You'll need to be comfortable with downloading files, using winzip, and installing programs.


You'll need winzip (or another archiving package) to download/install the software. You can get a free evaluation (forever) copy at winzip.com.

We'll update this web page to give more explicit instructions, but for now we'll include links to materials. You should be comfortable installing software or willing to try -- none of these packages require a great deal of technical expertise to install, but they're not completely trivial to install either.

Hopefully we'll create a seamless install package soon, but for now here are the links.

A Unix Shell

The first software you'll need to install is the Unix-like shell that enables the other software to work (at least g++).

The shell is cygwin from Cygnus software. That link takes you to the main page from which you can follow links to different download sites. However, we've mirrored the files needed for a simple installation.

Some people report errors downloading the mirrored files, if you get an error try this file instead.

From the Redhat/Cygwin website

If you download from the website you'll download a file named setup.exe. You should run this and when you get a choice of where to install from select Install from the Internet, then see below (after the mirror section).

From the Mirror

If you download from the mirror at Duke, you'll get one big (gzip'd) file. You'll need winzip to unpack this, when you get a prompt about unpacking in a temp directory, say yes and wait for the download to take place (it takes a while, there are 25Mb of files).

When the download has finished you'll be in Winzip. Click the Extract button near the top and when in the little text box sayin "extract to where" type C:\cygwin. This will unpack all the files into a directory C:\cygwin\cyginstall. When the unpacking is done you'll use windows explorer to go to the the C:\cygwin\cyginsall directory and run the setup.exe program.

When it prompts for where to install from, select Install from Current Directory

Installing (continued)

Install into a directory c:\cygwin which is the default directory. You can pick which applications you want to install but it's easiest to just get them all (click the next box). When this has finished you're all set, you have the unix/cygwin shell installed.

You can now get rid of the cyginstall subdirectory, it's not needed any longer.

The current cygwin shell comes with g++ 2.95.2, so once you download the shell you're all set with a compiler.

NT Emacs

The main web page for NT emacs, but files are mirrored here. As of fall 2000, the current version of emacs is 20.7.

Get the full-binary distribution, that's what is mirrored. Unzip it (automatic if you have winzip set up properly) and extract all the files into a subdirectory named c:\emacs (you can use a different name, but why?).

After extracting run the program bin/addpm.exe in the emacs-20.7 directory. This will add an emacs link to Program menu. Now you're set to go.

Tapestry library files

Download this zip file of the tapestry source. Extract this using winzip to a directory you name (e.g., c:/tapestry). You'll then need to create a library, to do this you can use cygwin, cd into the directory you created and type make libtapestry.a, e.g., cd c:/tapestry make libtapestry.a

You'll see a sequence of compiles and finally libtapestry.a, the library, will be created.

Now you're all set. When you download a Makefile to use with your programs, change the line that specifies COURSE_DIR so that it references the directory in which the .h, .cpp, and libtapestry.a files are located, e.g.,

COURSE_DIR = c:/tapestry

You may need to leave the c: out, you'll find out if that doesn't work.

Owen L. Astrachan
Last modified: Wed Sep 6 14:50:20 EDT 2000