在OS X Yosemite上使用gcc编译器编译OpenMP程序
$ gcc 12.c -fopenmp 12.c:9:9: fatal error: 'omp.h' file not found #include ^ 1 error generated.
在编译openMP程序时,我得到了上述错误。 我正在使用OS X Yosemite。 我首先尝试通过在终端中输入gcc来安装本机gcc编译器,后来又下载了Xcode我仍然遇到了同样的错误。 然后我下载了gcc:
$ brew install gcc
我仍然得到同样的错误。 我确实尝试更改编译器路径,它仍显示:
$ which gcc /usr/bin/gcc
那么如何用gcc编译程序呢?
编辑:截至2017年8月13日 ,在Homebrew中不再出现--without-multilib
选项,不应使用。 标准安装
brew install gcc
将提供可用于编译OpenMP程序的gcc
安装。 如下所示,它将作为gcc-
安装到/usr/local/bin
中。 Homebrew提供的当前gcc版本(截至写作)将安装为gcc-8
。 您可以使用它来编译具有OpenMP支持的程序
gcc-8 -fopenmp hello.c
或者,您可以在.bashrc
文件中添加别名
alias gcc='gcc-8'
然后使用编译
gcc -fopenmp hello.c
注意 :我在这里留下原帖,以防对某人有用。
OS X上通过XCode和Clang提供的标准gcc不支持OpenMP。 要使用OpenMP支持安装Homebrew版本的gcc,您需要安装它
brew install gcc --without-multilib
或者正如@Mark Setchell所指出的那样
brew reinstall gcc --without-multilib
这将把它安装到/usr/local/bin
目录。 Homebrew会将其安装为gcc-
以免破坏与XCode捆绑在一起的gcc。
我终于做了一些研究,终于在这里找到了一个解决方案:
- 我从http://hpc.sourceforge.net/获得了一个新的gcc编译器
- 然后我放置了一个新的可执行文件夹
$ sudo tar -xvf gcc-4.9-bin.tar -C /
- 后来我通过
export PATH=/usr/local/bin:$PATH
切换到它export PATH=/usr/local/bin:$PATH
似乎可以做到这一点!