XCode附带的Clang不支持OpenMP,但是来自llvm.org的那个。有 有关如何安装它的说明 。
默认情况下,在OSX上,GCC只是Clang的符号链接(根据评论 在OS X Yosemite上使用gcc编译器编译OpenMP程序 )。您可以从Homebrew安装真正的GCC,它肯定支持OpenMP。
的 更新的答案 强>
由于我在下面的原始答案,情况有所改善,你可以轻松地使用OpenMP clang++ 编译器 - hurraaaay!
clang++
要做到这一点,首先使用 的 自制 强> 安装 brew install libomp :
brew install libomp
然后使用时 clang++ ,使用这些标志:
clang++ -Xpreprocessor -fopenmp main.cpp -o main -lomp
的 原始答案 强>
如果要在OSX上编译C ++ 11 OpenMP代码,最简单的方法是使用 gcc 您可以通过安装 homebrew 。
gcc
homebrew
首先,检查可用选项:
brew options gcc
的 样本输出 强>
--with-all-languages Enable all compilers and languages, except Ada --with-java Build the gcj compiler --with-jit Build the jit compiler --with-nls Build with native language support (localization) --without-fortran Build without the gfortran compiler --without-multilib Build without multilib support --HEAD Install HEAD version
所以,我怀疑你想要:
brew install gcc --without-multilib --without-fortran
安装完成后,需要确保使用的是 homebrew 版本而不是Apple提供的版本。你需要知道这一点 homebrew 安装一切 /usr/local/bin 并且C ++编译器是 g++-6 。所以,你要么需要编译:
/usr/local/bin
g++-6
/usr/local/bin/g++-6 -std=c++11 -fopenmp main.cpp -o main
或者,在您的登录配置文件中设置您的PATH:
export PATH=/usr/local/bin:$PATH
那么你可以这样做:
g++-6 -std=c++11 -fopenmp ...
请注意,如果您选择上面的第二个选项(即 export PATH=... 选项),你要么也需要输入 export 在当前会话中命令一次激活它,或者注销并重新登录,因为您的配置文件命令仅在登录时执行。
export PATH=...
export
AFAIK,没有必要明确安装 libiomp - 不知道你为什么那样做。
libiomp