Сборка с OpenMP
Для включения OpenMP нужно указать ключ компиляции.
Компиляция через командную строку
Компилятор
Ключ компиляции
msvc (компилятор от Microsoft Visual Studio)
/openmp
gcc и clang
-fopenmp
Пример компиляции кода из файла с исходным кодом main.c при помощи компилятора Clang под Windows
clang -O2 -fopenmp main.c -o lab.exe
Visual Studio
Свойства проекта (ПКМ по проекту в обозревателе проектов) - C/C++ - Language - OpenMP support - Yes. Во избежания проблем для начинающих рекомендуется выставлять Платформу и конфигурацию как All (подчеркнуто на скрине ниже).
Для того, чтобы счётчики цикла или другие более современные возможности OpenMP работали при использовании Visual Studio, следует в настройках компилятора добавить для всех конфигураций и всех платформ следующее:
/openmp:experimental /openmp:llvm

CMakeLists
OPTION (USE_OpenMP "Use OpenMP" ON)
IF(USE_OpenMP)
FIND_PACKAGE(OpenMP)
IF(OPENMP_FOUND)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
ENDIF()
ENDIF()
Для владельцев Mac на ARM64 также может помочь set(CMAKE_OSX_ARCHITECTURES x86_64)
Last updated