Я пытаюсь скомпилировать программу на C, используя MSMPI в Windows 7. Программа компилируется и прекрасно работает в Linux с OpenMPI. Однако он не компилируется с компилятором MS в Visual Studio 2010. В тот момент, когда я раскомментирую строку «MPI_Init ()», я пытаюсь получить большое количество ошибок и сообщение
«Ошибка 207, ошибка C1003: количество ошибок превышает 100; остановка компиляции»
Первая оскорбительная строка - это
"myObj * a [5] = {NULL};"
с сообщением об ошибке
"Ошибка 104 ошибка C2059: синтаксическая ошибка: '{'"
Компилятор жалуется на неожиданную правую фигурную скобку "{". С закомментированным оператором MPI_Init код компилируется нормально, но, конечно, не использует MSMPI. Вот фрагмент кода
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
#include <omp.h>
#include <mpi.h>
#include "more_header_files.h"
int main(int argc, char *argv[])
{
MPI_Init(&argc, &argv);
MPI_Status status;
int my_rank, numProc;
MPI_Comm_rank( MPI_COMM_WORLD, &my_rank );
MPI_Comm_size( MPI_COMM_WORLD, &numProc );
myObj *a[5] = {NULL};
Есть ли решение, кроме установки MinGW и компиляции с GCC (которое также может не работать)?