【发布时间】:2018-04-09 18:00:09
【问题描述】:
我正在尝试将 OpenMP 添加到使用 CMake 构建的项目中。使用标准 CMake/OpenMP 添加在 Linux 上构建它没有问题:
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}")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}
${OpenMP_EXE_LINKER_FLAGS}")
endif()
不幸的是,这似乎不适用于 macOS 目标。调用cmake时报如下错误:
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS)
-- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS)
-- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
我正在使用 macOS High Sierra (10.13.3) 和 CMake 3.11。我已经通过 brew 安装了 OpenMP 5.01,“brew install libomp”。我发现一些以前的帖子评论了关于这三个问题的问题,但它们似乎都处理以前在 macOS 上安装 OpenMP 的方式,“brew install clang-omp”。
我认为这可能与 CMake 不支持此 OpenMP 安装有关,因为我可以使用 OpenMP 与标准 makefile 没有问题。提供的任何信息将不胜感激。
【问题讨论】: