Developing on Windows Systems

If you have a new computer with Windows, you probably don't have any compilers, assemblers, databases, or development tools at all. This page lists some freely available products you'll find helpful for development. Linux, FreeBSD, Solaris and OS/X probably have most of these tools (or their equivalents).

UnixUtils

UnixUtils is a SourceForge project that contains native Win32 ports of a whole bunch of GNU utilities. Included are

    agrep         env           makedepend    stego
    ansi2knr      expand        makemsg       su
    basename      expr          man           sum
    bc            factor        md5sum        sync
    bison         fgrep         mkdir         tac
    bunzip2       find          mkfifo        tail
    bzip2         flex          mknod         tar
    bzip2recover  fmt           mv            tee
    cat           fold          mvdir         test
    chgrp         fsplit        nl            touch
    chmod         gawk          od            tr
    chown         gclip         paste         type
    cksum         gplay         patch         uname
    cmp           grep          pathchk       unexpand
    comm          gsar          pclip         uniq
    compress      gunzip        pr            unrar
    cp            gzip          printenv      unshar
    csplit        head          printf        unzip
    cut           id            pwd           uudecode
    date          indent        recode        uuencode
    dc            install       rm            wc
    dd            join          rman          wget
    df            jwhois        rmdir         which
    diff          less          sdiff         whoami
    diff3         lesskey       sed           xargs
    dircolors     ln            seq           yes
    dirname       logname       shar          zcat
    du            ls            sleep         zip
    echo          m4            sort
    egrep         make          split

Each of these comes as an .exe file dropped into \usr\local\wbin by default. Put their directory in your system path and life will be very good.

MinGW

One of the nicest way to get your GCC (GNU compiler collection) compilers (Ada, C, C++, Objective C, Fortran, and friends) is to get MinGW.

Everything you need should be at the download page. Start with the installer program, called MinGW-4.1.0.exe the last time I checked. Install everything into C:\mingw or the directory of your choice. If the installer doesn't add the mingw bin directory to your path, you will want to do this yourself.

GNU Ada

The MinGW installer won't give you a working Ada compiler by default, so you have to download and unzip the components yourself. It's easy though; all the components are on the download page.

  1. You should have already run the installer MinGW-4.1.0.exe
  2. Unzip and untar binutils-2.15.91-20040904.tar.gz
  3. Unzip and untar mingw-runtime-3.7.tar.gz
  4. Unzip and untar gcc-core-3.4.2-20040916.tar.gz
  5. Unzip and untar gcc-ada-3.4.2-20040916-1.tar.gz
  6. Unzip and untar w32api-3.2.tar.gz

Pthreads

  1. Get the self-extracting installer from ftp://sources.redhat.com/pub/pthreads-win32/. The file to download will be called something like pthreads-2005-03-08.exe. Look for the latest version.
  2. Extract the distribution into c:\pthreads or the directory of your choice.
  3. Copy the .h files in Pre-built\include into your mingw include directory.
  4. Copy Pre-Built\lib\libpthreadGC1.a into your mingw lib directory.
  5. Copy Pre-Built\lib\pthreadGC1.dll into your Windows system directory.
  6. Optionally go into pthreads\tests and run some of the test programs. For example:
        gcc self1.c -lpthreadGC1
        a.exe
    

OpenGL

Your Windows system most likely comes with the runtime libraries for OpenGL — most likely called opengl32.dll — but most likely doesn't come with the header files and static libraries for developing OpenGL applications.

TODO

GLUT

TODO

gdb

TODO

Perl, Python and Tcl

ActiveState has development kits and runtimes for these languages. Navigate to what you need from their home page, and download the desired MSI file(s). Run the MSI and you are ready to go.

Moscow ML

TODO

Java

Most Windows systems come with a Java runtime environment (JRE) pre-installed, but no Java development kit. You can download the JDK (5.0) here; look for the link that says "Download JDK 5.0 Update 4", not the one that bundles NetBeans and the JDK (unless you want NetBeans). The "Windows Offline Installation" runs fine.

Eclipse

TODO

Useful Eclipse Plugins

My favorites are

There are plugins for running Perl and C, but I haven't tried these.

MySQL

TODO

MySQL Query

This is a cool graphical client for MySQL; a must for developers. If you have more than just MySQL, consider Squirrel.

TODO

Firefox

TODO

Useful Firefox Plugins

TODO

Tomcat

TODO

Ant

TODO

CVS

TODO

PuTTY

TODO

NASM

TODO