El Capitan 下 Xcode 中的 clang-omp

clang-omp in Xcode under El Capitan

我喜欢在使用 Xcode 作为 IDE 的 c++ 项目中使用 openmp。不幸的是,Apple 的 Clang 编译器不支持 openmp(see here), so I installed clang-omp。我完全按照该网站上给出的说明在 Xcode 中使用它,但我收到错误消息 can't exec '/usr/local/bin/clang++-omp' (No such file or directory)。我试图通过终端编译他们网站上给出的简单示例,当我通过 clang-omp++ -fopenmp file.cpp 编译它时我让它工作。对我来说,它看起来像 Xcode 应该搜索 /usr/local/bin/clang-omp++(它存在于对比中到 /usr/local/bin/clang++-omp)。按照评论中的建议创建符号链接后,我收到另一条错误消息:library not found for -liomp5。我该如何解决这个问题?

万一其他人试图让 clang-omp 在 Xcode 下工作,正确的方法是(在 official instructions 之后):

  1. 使用自制程序安装 clang-omp:brew install clang-omp
  2. 创建一个新的 Xcode 项目
  3. 在项目的构建设置下添加一个新的 user-defined 设置 CC,其值为 /usr/local/bin/clang-omp
  4. 在项目的构建设置下将 -fopenmp 添加到 Other C Flags
  5. 在项目的构建设置下将 /usr/local/include 添加到 Header 搜索路径
  6. /usr/local/lib 添加到项目构建设置下的库搜索路径
  7. 在项目的构建设置下将启用模块(C 和 Objective-C)设置为 No
  8. /usr/local/lib/libiomp5.dylib 添加到项目构建阶段下的 Link Binary With Libraries
  9. 使用终端
  10. 通过sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp创建符号link
  11. 使用#include <libiomp/omp.h>可以在你的项目中使用openmp

OpemMP 运行时通常不随 clang 提供,您可以从以下位置下载并安装:https://www.openmprtl.org