Сборка OpenMP с помощью cmake на MacOS - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь построить проект с OpenMp на Mojave, используя cmake - следуя этому методу. Я перепробовал все решения, представленные в похожих постах, но безуспешно. Я знаю, что пример для High Sierra, поэтому я мог бы предположить, что слишком много следую за ним.

Мои cmakelists.txt:

cmake_minimum_required(VERSION 3.9)
include_directories(${ProjectName_SOURCE_DIR}/src)
link_directories(${ProjectName_BINARY_DIR}/src)

set(CMAKE_CXX_STANDARD 14)

set (lib_SOURCES
    ../src/example.h
    ../src/example.cpp
    external.cpp)

add_library(foo MODULE ${lib_SOURCES})

find_package(OpenMP REQUIRED)
target_link_libraries(foo PRIVATE OpenMP::OpenMP_CXX)

Возвращена ошибка CMake:

Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)

Согласно этому предложению , если я добавлю исправление ctdeg root прямо над строкой find_package, это, похоже, «поможет», в том смысле, что cmake затем перезагрузка возвращает:

Cannot get compiler information:
Compiler exited with error code 1: /Library/Developer/CommandLineTools/usr/bin/c++ -xc++ -Dfoo_EXPORTS -I/Users/MyUser/Documents/SomeDirectory/Project/src -I/usr/local/include -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -fPIC -fopenmp=libomp -Wno-unused-command-line-argument -std=gnu++14 -fpch-preprocess -v -dD -E
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
clang: error: unsupported argument 'libomp' to option 'fopenmp='

Сборка в этом случае просто возвращает:

clang: error: unsupported argument 'libomp' to option 'fopenmp='

Я понимаю, что OSX Clang должным образом не поддерживает OpenMP, но я не уверен, как решить проблему. Заранее спасибо.

...