我如何说服 cmake(在 CLion 中)我有可用的 OpenMP header ?我正在尝试编译这个项目 SCD 并且收到以下错误

...
[ 15%] Building CXX object tools/selector/CMakeFiles/selector.dir/source/main.cpp.o
[ 18%] Building CXX object tools/cc/CMakeFiles/cc.dir/source/main.cpp.o
/Users/buddha/github/buddha314/SCD/tools/wcc/source/main.cpp:22:10: fatal error: 'omp.h' file not found
#include <omp.h>
     ^

CMakeLists.txt 包括
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -pg -fopenmp -DPROFILE ")
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -fopenmp -DNDEBUG")

最佳答案

我认为您的问题并非特定于 CLion,而是用于构建过程的工具(即 CMake)。正如在 this answer 中已经提到的,有一个标准模块用于测试编译器是否支持 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()

关于macos - osx 和 clion,找不到 omp.h,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34203252/

10-16 19:06