Какая-то чертовщина происходит.
Проект: динамическая библиотека, соот-но 1 файл cpp с функцийе + описания классов в заголовочном файле.
Ситуация такая: в режиме release директивы #pragma omp parallel for просто игнорируются. Т.е. будто бы их и нет. При этом в debug-режиме всё определяется нормально (компилятор пишет OpenMP DEFINED LOOP WAS PARALLELIZED.)
При этом конструкция типа такой в том же release-режиме:
#pragma omp parallel
{
#pragma omp for
for(int i = 1; i < size; ++i)
x[i] = (y[i-1] + y[i+1])/2;
}
Приводит к сообщению OpenMP DEFINED REGION WAS PARALLELIZED. Однако директива внутри региона для цикла — опять же игнорируется, т.е. в итоге получается ерунда.
Четовщина продолжается далее: директивы отлично работают в заголовочном файле из этого же проекта (и в debug и в release).
Я уже даже не знаю, что делать, почему всё так странно?