问题
I installed Xcode (and also the command line tools) but terminal says (when I'm compiling):
gcc -o task -fopenmp task.c
clang: error: unsupported option '-fopenmp'
I tried to install openmp via brew but people say that it's not available anymore on homebrew, they suggest to try
brew instal llvm
But I get the same error. I tried also in the boneyard
brew install homebrew/boneyard/clang-omp
but the repository doesn't exist anymore.
Could you help me? I just need to learn openMP, I don't think that is so difficult to install...
Thank you!
Kind regards,
Nico
回答1:
This https://iscinumpy.gitlab.io/post/omp-on-high-sierra/ suggest to do the following:
brew install libomp
To install the OpenMP runtime components/libraries.
Then, when compiling:
- use
-Xpreprocessor -fopenmp
in place of-fopenmp
in the compile step (-c
option) - add
-lomp
to the linking step
Note that the above page also mention that CMake 3.12 or later will automatically find the right way of adding OpenMP on MacOS:
cmake_minimum_required(VERSION 3.12)
project(openmptest CXX)
add_executable(sample sample.cpp)
find_package(OpenMP REQUIRED)
target_link_libraries(sample PRIVATE OpenMP::OpenMP_CXX)
Note: I didn't test any of this but it sounds relatively sane
回答2:
To build with OpenMP support, you need to make sure you're not invoking Apple's clang from Xcode. Even if you install llvm
or gcc
via brew, you should try gcc -v
and clang -v
in your terminal session. Both likely invoke Apple's version.
You can use GNU gcc or LLVM; both are available via brew. If you use LLVM, you'll also need to install libomp
.
GNU gcc (currently at version 9)
brew install gcc
gcc-9 -o task -fopenmp task.c
Note that you invoke this version of gcc explicitly by suffixing gcc
with a -
and the major version number, e.g.: gcc-9
LLVM
Brew installs LLVM as keg-only so that it doesn't conflict with Apple's version. You'll therefore need to make sure you invoke the right clang
. You'll also need to specify where the libomp
library is located.
brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c
来源:https://stackoverflow.com/questions/58344183/how-can-i-install-openmp-on-my-new-macbook-pro-with-mac-os-catalina