Provided by: mpich_3.3.2-2build1_amd64 bug

NAME

       mpicxx -  Compiles and links MPI programs written in C++

DESCRIPTION

       This  command  can  be used to compile and link MPI programs written in C++.  It provides the options and
       any special libraries that are needed to compile and link MPI programs.

       It is important to use this command, particularly when linking programs, as  it  provides  the  necessary
       libraries.

COMMAND LINE ARGUMENTS

       -show  - Show the commands that would be used without running them
       -help  - Give short help
       -cxx=name
              -  Use  compiler  name instead of the default choice.  Use this only if the compiler is compatible
              with the MPICH library (see below)
       -config=name
              - Load a configuration file for a particular compiler.  This allows a single mpicxx command to  be
              used with multiple compilers.
       -compile_info
              - Show the steps for compiling a program.  This option can be used to see what options and include
              paths are used by mpicxx.
       -link_info
              - Show the steps for linking a program.  This option can be used to see what options and libraries
              are used by mpicxx.
       -profile=name
              - Use the MPI profiling given by name.  See below for details
       -echo  - Show exactly what this program is doing.  This option should normally not be used.
       -static
              -  mpi  -  Use  a  statically  compile  MPI  library,  but  shared  libraries for all of the other
              dependencies.
       others - are passed to the compiler or linker.  For example, -c causes files to be compiled,  -g  selects
              compilation  with debugging on most systems, and -o name causes linking with the output executable
              given the name name .

ENVIRONMENT VARIABLES

       The environment variables MPICH_CXX may be used to select different C++ compiler and linker.   Note  that
       since  MPICH  is  built  with  a particular C and Fortran compiler, changing the compilers used can cause
       problems.  Use this only if you could intermix code compiled with the different compilers.

       The environment variable MPICC_PROFILE specifies a  profile  library  and  has  the  same  effect  as  if
       -profile=$MPICC_PROFILE  were  used  as  an argument to mpicc .  See the discussion of -profile below for
       more details.

COMPATIBLE COMPILERS

       The MPI library may be used with any compiler that uses the same lengths for basic data objects (such  as
       long  double  )  and that uses compatible run-time libraries.  On many systems, the various compilers are
       compatible and may be used interchangably.  There are exceptions; if you use  the  MPICH_CXX  environment
       variable  or  the  -cxx=name  command-line  argument  to  override  the  choice of compiler and encounter
       problems, try reconfiguring MPICH with the new compiler, and installing MPICH  in  a  separate  location.
       See the installation manual for more details.

EXAMPLES

       To compile a single file foo.c , use
       mpicxx -c foo.cxx

       To link the output and make an executable, use
       mpicxx -o foo foo.o

       Combining compilation and linking in a single command
       mpicxx -o foo foo.cxx

       is a convenient way to build simple programs.

SELECTING A PROFILING LIBRARY

       The  -profile=name argument allows you to specify an MPI profiling library to be used.  name can have two
       forms:

       A library in the same directory as the MPI library
       The name of a profile configuration file

       If name is a library, then this library is included before the MPI library.  This allows the  simple  use
       of libraries that make use of the MPI profiling interface and that are installed in the same directory as
       the MPI library.

       If name.conf is the name of a file in the sysconfdir directory, then this is  read  and  may  define  the
       following variables:
       PROFILE_PRELIB
              - Libraries (and paths) to include before the MPI library
       PROFILE_POSTLIB
              - Libraries to include after the MPI library
       PROFILE_INCPATHS
              -  C preprocessor arguments for any include files For example, to add /usr/local/myprof/include to
              the include path and the library libmyprof.a in /usr/local/myprof/lib to the link step, you  could
              create the file myprof.conf with the lines

              PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
              PROFILE_INCPATHS="-I/usr/local/myprof/include"

              and  place  it  in the sysconfdir directory (this directory is set at configure time when MPICH is
              built).  Then using the command-line argument -profile=myprof will cause these definitions  to  be
              added to the relevant compile commands.

SEE ALSO

       mpicc, mpifort, mpiexec

                                                   11/12/2019                                          mpicxx(1)