main
::BUILDING MPICH 
You must have MS Visual C++ 6 and Compaq(Digital) Visual Fortran 6 in order to build
without any modifications.
Load the workspace in Visual C++ IDE and select build=>batch build=>rebuild all.
There are several workspaces available: 
  - mpich.dsw 
      - This project builds a shared memory, via, tcp device. 
          It also contains the MPI-2 file functions provided by Romio for the
          NTFS file system. There are three targets to the project:
        - Debug/Release builds the C interface and three Fortran 
        interfaces for g77, Visual Fortran, and Intel.  The intel interface 
        has MPI functions but not PMPI functions.
- Debug/ReleaseNoFortran  excludes the Fortran files from
          the build in case you don't have a Fortran compiler
- Debug/ReleaseCDECLStrLenEnd builds the C interface and one 
        Fortran interface.  Use this project to change the settings to 
        match your Fortran compiler.
 
- If you have a FORTRAN compiler other than Digital Visual Fortran you will have to make
        some code changes.  You will have to change farg.f to use
        the corresponding "getarg" and "nargs" calls provided by your compiler
        and set the USE lines to the appropriate modules.
 
- mpe\mpe.dsw 
    
      - Contains two projects used for logging mpich applications
- mpe - Link to this library before the mpich library to profile an
        application.
- clog2slog - Applications linked to the mpe library output clog
        files.  This program converts them to the slog file format so they
        can be viewed with Jumpshot.
 
- mpid\nt_server\winmpd\mpi2.dsw 
      - Contains projects to build the MPD launcher.
- Compile all the projects.  MPD and MPIConfig contain the 
      executables.
- mpid\nt_server\winmpd\mpich1\mpich1.dsw
      - Contains the projects to build MPIRun, MPIRegister and guiMPIRun.
 
 
- mpid\nt_server\remoteshell\remoteshell.dsw 
      - Contains projects to build the DCOM launcher. Only the Debug and ReleaseMinDependency
        versions have been tested. The UNICODE versions may not work.
      
- Compile MPIRun, RemoteShellServer, MPIConfig and MPIRegister.
      
 
Note:
In order to compile cleanly you need to use the header files and libraries 
from the Platform SDK instead of the VC++ distribution.  The files that come with 
VC6 are very old.  The platform sdk has the most recent header files.  
If you do not want to use the platform sdk files, you will have to do the 
following to get the projects to compile:
  - In the mpich project add the following definintion for all configurations: 
  USE_VC6_HEADERS
- In the bsocket project of the mpi2 workspace add the same definition: 
  USE_VC6_HEADERS
- In the mpirun project of the mpich1 workspace remove the definition: 
  WSOCK2_BEFORE_WINDOWS.
- You can change these definitions from the project settings dialog:  Bring up the project settings (Alt F7).  
  Go to C/C++, Category:[Preprocessor].
With these changes you can compile all the workspaces using the default 
libraries and header files provided with MSDEV Visual C++ 6.x.
main
Compiling an MPI application