К сожалению, это не всегда работает. Например, в некоторых случаях, различным компиляторам могут потребоваться различные библиотеки при компоновке программ. Некоторые компиляторы требуют дополнительных опций для поддержки ANSI/ISO C. В частности, поддержка длинных типов данных, таких как long long или long double может зависеть от библиотек времени выполнения, которые специфичны для каждого компилятора. Чтобы обработать все такие случаи для C и C++, Вы можете создать файл с именем `mpicc-<compilename>.conf', т.е. `mpicc-gcc.conf' или `mpicc-pgcc.conf', который содержит все определения, необходимые команде mpicc. mpiCC использует `mpiCC-<compilename>.conf'. Сейчас эти файлы нужно создавать вручную, начав с файла `mpichlib.conf', который создается скриптом configure для mpich в каталоге `mpich/util'. Простейшим способом создания файлов является использование configure:
setenv CC cc
configure prefix=/usr/local/mpich-1.2.2
make
make install
cp util/mpichlib.conf /usr/local/mpich-1.2.2/etc/mpicc-cc.conf
setenv CC gcc
configure prefix=/usr/local/mpich-1.2.2
make
cp util/mpichlib.conf /usr/local/mpich-1.2.2/etc/mpicc-gcc.conf
В этом примере использованы значения по умолчанию для sysconfdir, $prefix/etc.
Например, если mpich использует в качестве компилятора cc, а
пользователь ожидает вместо
этого gcc, команда MPICH_CC=gcc
mpicc ...или
mpicc -config=gcc ...вызовет загрузку `mpich-gcc.conf' для mpicc и использование подходящих определений.