DaPhil DaPhil - 2 months ago 14
C++ Question

clang-omp in Xcode under El Capitan

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 via
clang-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?

Answer

In case anyone else is trying to get clang-omp under Xcode to work, the correct way is (following the official instructions):

  1. Install clang-omp using homebrew: brew install clang-omp
  2. Create a new Xcode project
  3. Add a new user-defined setting CC with the value /usr/local/bin/clang-omp under the project's build settings
  4. Add -fopenmp to Other C Flags under the project's build settings
  5. Add /usr/local/include to Header Search Paths under the project's build settings
  6. Add /usr/local/lib to Library Search Paths under the project's build settings
  7. Set Enable Modules (C and Objective-C) to No under the project's build settings
  8. Add /usr/local/lib/libiomp5.dylib to Link Binary With Libraries under the project's build phases
  9. Make a symbolic link via sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp using the terminal
  10. Use #include <libiomp/omp.h> to be able to use openmp in your project
Comments