我喜欢在使用Xcode作为IDE的c++项目中使用openmp。不幸的是,苹果的Clang编译器不支持openmp(请参阅此处),所以我安装了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
。我该怎么解决这个问题?
如果其他人试图在Xcode下运行clang omp,正确的方法是(按照官方说明):
- 使用自制程序安装clang omp:
brew install clang-omp
- 创建新的Xcode项目
- 在项目的生成设置下添加值为
/usr/local/bin/clang-omp
的新用户定义设置CC - 将
-fopenmp
添加到项目生成设置下的其他C标志 - 将
/usr/local/include
添加到项目的生成设置下的标头搜索路径 - 将
/usr/local/lib
添加到项目构建设置下的库搜索路径 - 在项目的构建设置下,将Enable Modules(C和Objective-C)设置为
No
- 添加
/usr/local/lib/libiomp5.dylib
以在项目的构建阶段将二进制与库链接 - 使用终端通过
sudo ln -s /usr/local/bin/clang-omp++ /usr/local/bin/clang++-omp
建立符号链接 - 使用
#include <libiomp/omp.h>
可以在项目中使用openmp
OpemMP运行时通常不会随clang一起交付,您可以从以下位置下载和安装:https://www.openmprtl.org