Я пытаюсь построить проект с 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, но я не уверен, как решить проблему. Заранее спасибо.