clang-omp in Xcode under El Capitan
Solution 1
In case anyone else is trying to get clang-omp under Xcode to work, the correct way is (following the official instructions):
- Install clang-omp using homebrew:
brew install clang-omp
- Create a new Xcode project
- Add a new user-defined setting CC with the value
/usr/local/bin/clang-omp
under the project's build settings - Add
-fopenmp
to Other C Flags under the project's build settings - Add
/usr/local/include
to Header Search Paths under the project's build settings - Add
/usr/local/lib
to Library Search Paths under the project's build settings - Set Enable Modules (C and Objective-C) to
No
under the project's build settings - Add
/usr/local/lib/libiomp5.dylib
to Link Binary With Libraries under the project's build phases - Make a symbolic link via
sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp
using the terminal - Use
#include <libiomp/omp.h>
to be able to use openmp in your project
Solution 2
OpemMP runtimes are usually not delivered with clang, you can download and install from: https://www.openmprtl.org
DaPhil
Updated on July 25, 2022Comments
-
DaPhil almost 2 years
I like to use openmp in a c++ project using Xcode as IDE. Unfortunately, Apple's Clang compiler does not support openmp (see here), so I installed clang-omp. I exactly followed the instructions given on that website to use it within Xcode, but I get the error message
can't exec '/usr/local/bin/clang++-omp' (No such file or directory)
. I tried to compile the simple example given on their website via terminal and I got it to work when I compile it viaclang-omp++ -fopenmp file.cpp
. For me it looks like Xcode should search for/usr/local/bin/clang-omp++
(which exists in contrast to/usr/local/bin/clang++-omp
). After making a symlink as suggested in the comments I get another error message:library not found for -liomp5
. How can I fix this? -
David Ganster over 8 years@JosephK I know it's a little late, but try running
brew update
beforebrew install
. -
Adriweb almost 8 yearsNote (July 2016):
clang-omp
has been "removed" from brew, OpenMP now being directly supported by upstream LLVM (available on brew as well). Regarding Xcode integration now, though, I'm not sure. -
DoDo almost 8 yearsI've installed llvm38 from homebrew and while
-fopenmp
flag now correctly gets recognizer, I get a compile error stating thatomp.h
does not exists. I searched for the file and it really does not exist. What to do now? -
Bhargav Rao almost 8 yearsWhilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
-
eborisch over 7 yearsIf you install clang-3.8 and above from MacPorts, -fopenmp "just works."
-
eborisch over 7 yearsTo use in Xcode from MacPorts and then, similar to above: [1]
sudo port install clang-3.8 ld64 +ld64_xcode
[2] User-defined setting CC/opt/local/bin/clang-mp/3.8
[3] Other C Flags:-fopenmp
[4] Other Linker Flags:-fopenmp
[5] Enable Modules (C and Objective-C):No
[6] And done. The include and library search paths and linking requirements are baked into clang-mp-3.8. You will need#include <omp.h>
as always. (Inspired by Jan-Michael Tressler's openmp-dev post.) -
Royi almost 6 yearsWhat about newer
XCode
? Is there a simple way?