Я пытаюсь использовать OpenMP для создания параллельного цикла for в Visual Studio 2005 Professional. Я включил omp.h и указал флаг компилятора /openmp. Однако я не могу скомпилировать даже самый простой параллельный цикл for.
#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 сбивает компилятор с толку, но так быть не должно. Любые идеи?