Установите проект OpenMP MacOS Mojave в CLion - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь выполнить домашнее задание на C ++ с OpenMP на Ma c с macOS Mojave. Но это не удалось. Ma c новый, поэтому все настройки не меняются. Что я сделал:

  1. Я установил Homebrew.
  2. Я установил llvm (brew install llvm)
  3. Я установил omp (brew install libomp)

Также в CMakeLists.txt проекта у меня есть

cmake_minimum_required(VERSION 3.5.1)
project(...)

include_directories("/usr/local/include" "/usr/local/opt/llvm/include")
link_directories("/usr/local/lib" "/usr/local/opt/llvm/lib")
set(CMAKE_CXX_COMPILER /usr/local/opt/llvm/bin/clang++)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -fopenmp -O3")

add_executable(...)

В Терминале 'clang -v':

Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

'g cc -v':

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

В CLion у меня такая ошибка:

[ 25%] Linking CXX executable search
ld: unknown option: -platform_version
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [search] Error 1
make[2]: *** [CMakeFiles/search.dir/all] Error 2
make[1]: *** [CMakeFiles/search.dir/rule] Error 2
make: *** [search] Error 2

Я перечитал много форумов, но до сих пор не понимаю, в чем может быть проблема.

1 Ответ

0 голосов
/ 10 мая 2020

Обязательно вызовите препроцессор Xcode для обработки OMP.

Флаги C ++ должны включать: -Xpreprocessor -fopenmp -lomp -I/usr/local/include

LDFLAGS должны включать: -lomp

С cmake вы можете добавить их в свою команду: cmake -DCMAKE_CXX_FLAGS="-Xpreprocessor -fopenmp -lomp -I/usr/local/include" -DCMAKE_EXE_LINKER_FLAGS="-lomp" ..

или вы можете добавить их в свой CMakeLists.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...