Tej*_*kar 14 c c++ xcode gcc openmp
$ gcc 12.c -fopenmp
12.c:9:9: fatal error: 'omp.h' file not found
#include<omp.h>
^
1 error generated.
Run Code Online (Sandbox Code Playgroud)
在编译openMP程序时,我得到了上述错误.我正在使用OS X Yosemite.我首先尝试通过在终端中键入gcc来安装本机gcc编译器,后来又下载了Xcode,我得到了同样的错误.然后我下载了gcc:
$ brew install gcc
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的错误.我确实尝试更改编译器路径,它仍显示:
$ which gcc
/usr/bin/gcc
Run Code Online (Sandbox Code Playgroud)
那么如何用gcc编译程序呢?
IKa*_*agh 45
编辑:截至2017年8月13日,该--without-multilib选项不再出现在Homebrew中,不应使用.标准安装
brew install gcc
Run Code Online (Sandbox Code Playgroud)
将提供gcc可用于编译OpenMP程序的安装.如下所示,它将被安装/usr/local/bin为gcc-<version>.Homebrew提供的当前gcc版本(编写时)将安装为gcc-8.您可以使用它来编译具有OpenMP支持的程序
gcc-8 -fopenmp hello.c
Run Code Online (Sandbox Code Playgroud)
或者,您可以在.bashrc文件中添加别名
alias gcc='gcc-8'
Run Code Online (Sandbox Code Playgroud)
然后使用编译
gcc -fopenmp hello.c
Run Code Online (Sandbox Code Playgroud)
注意:我在这里留下原帖,以防对某人有用.
OS X通过XCode和Clang提供的标准gcc不支持OpenMP.要使用OpenMP支持安装Homebrew版本的gcc,您需要安装它
brew install gcc --without-multilib
Run Code Online (Sandbox Code Playgroud)
或者正如@ Mark Setchell所指出的那样
brew reinstall gcc --without-multilib
Run Code Online (Sandbox Code Playgroud)
这将把它安装到/usr/local/bin目录中.Homebrew将安装它,gcc-<version>以免破坏与XCode捆绑的gcc.