|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
Single include point for the MPI C API. More...
#include <mpi.h>Go to the source code of this file.
Macros | |
| #define | MPICH_SKIP_MPICXX |
| #define | OMPI_SKIP_MPICXX |
Single include point for the MPI C API.
Bertini 2 uses only the MPI C API. Including <mpi.h> directly from C++ otherwise drags in the deprecated MPI C++ bindings (the MPI:: namespace, mpicxx.h). MPICH compiles those in by default, and they fail to build under modern C++ (notably clang) – so the project built against OpenMPI but not Homebrew MPICH on macOS.
Defining MPICH_SKIP_MPICXX / OMPI_SKIP_MPICXX before <mpi.h> pulls in only the C API. These are also defined on the compile command line by CMake (ENABLE_MPI block); having them here too is belt and suspenders, so the guard holds even if the build-system definition fails to reach a translation unit. Always include this header instead of <mpi.h> directly.
| #define MPICH_SKIP_MPICXX |
| #define OMPI_SKIP_MPICXX |