Я пытаюсь использовать OpenMP для создания параллельного цикла for в Visual Studio 2005 Professional. Я включил omp.h и указал флаг компилятора / openmp. Однако я не могу получить даже самую простую параллель для цикла для компиляции.
#pragma omp parallel for
for ( int i = 0; i < 10; ++i )
{
int a = i + i;
}
Выше приведено сообщение об ошибке компилятора C3005 в строке #pragma.
Google мало чем помог. Я нашел только один непонятный японский веб-сайт с пользователем, имеющим подобные проблемы. Нет упоминания о резолюции.
Стандартный параллельный блок компилируется нормально.
#prgram omp parallel
{
// Do some stuff
}
Пока вы не попытаетесь добавить цикл for.
#pragma omp parallel
{
#pragma omp for
for ( int i = 0; i < 10; ++i )
{
int a = i + i;
}
}
Вышеуказанное вызывает ошибку компилятора C3001. Кажется, 'for' сбивает с толку компилятора, но этого не должно быть. Есть идеи?