Provided by: libmpich-dev_3.2-6build1_amd64 

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.
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/9/2015 mpicxx(1)