在OS X约塞米蒂上使用gcc编译器编译OpenMP程序

1cklez4t  于 2024-01-08  发布在  其他
关注(0)|答案(3)|浏览(128)
$ gcc 12.c -fopenmp
12.c:9:9: fatal error: 'omp.h' file not found
#include<omp.h>
    ^
1 error generated.

字符串
在编译openMP程序时,我得到了上述错误。我使用的是OS X约塞米蒂。我首先尝试通过在终端中输入gcc来安装原生gcc编译器,后来下载了Xcode,仍然得到了同样的错误。然后我通过以下方式下载了gcc:

$ brew install gcc


我仍然得到同样的错误。我也尝试改变编译器路径,但它仍然显示:

$ which gcc
/usr/bin/gcc


那么我如何用gcc编译程序呢?

m1m5dgzv

m1m5dgzv1#

**编辑:**自13 Aug 2017起,--without-multilib选项不再存在于Homebrew中,不应使用。标准安装

brew install gcc

字符串
将提供可用于编译OpenMP程序的gcc安装。如下所示,它将以gcc-<version>的形式安装到/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-<version>,以免破坏与XCode捆绑的gcc。

kfgdxczn

kfgdxczn2#

我终于做了一些研究,我终于在这里找到了一个解决方案:<omp.h> library isn't found in the GCC version (4.2.1) in Mavericks
1.我从http://hpc.sourceforge.net/得到了一个新的gcc编译器
1.然后我把一个新的可执行文件夹$ sudo tar -xvf gcc-4.9-bin.tar -C /
1.后来我切换到它的export PATH=/usr/local/bin:$PATH,似乎做的伎俩!

de90aj5v

de90aj5v3#

这个问题是8年前的问题,但我把它写下来是为了像我这样遇到同样错误的新用户。解决方法是给予omp. h文件的位置,而不是#include<omp.h>。

include“/Macintosh/HD/opt/homebrew/Cellar/libomp/17.0.5/include/omp.h”

你可以在你的电脑中包含地址omp. h。
如果我说错了,请纠正我。

相关问题