$ gcc 12.c -fopenmp
12.c:9:9: fatal error: 'omp.h' file not found
#include<omp.h>
^
1 error generated.
OpenMPプログラムのコンパイル中に、上記のエラーが発生します。 OS X Yosemiteを使用しています。最初に端末でgccと入力してネイティブgccコンパイラをインストールしてみましたが、後でXcodeをダウンロードしても同じエラーが発生しました。次に、以下からgccをダウンロードしました。
$ brew install gcc
それでも、同じエラーが発生します。私はコンパイラのパスを変更しようとしましたが、それでも表示されます:
$ which gcc
/usr/bin/gcc
では、gccでプログラムをコンパイルするにはどうすればよいですか?
EDIT:13 Aug 2017 現在、--without-multilib
オプションはHomebrewには存在しないため、使用しないでください。標準インストール
brew install gcc
openMPプログラムのコンパイルに使用できるgcc
インストールを提供します。以下のように、/usr/local/bin
としてgcc-<version>
にインストールされます。 Homebrewから入手可能な現在のgccバージョン(執筆時点)はgcc-8
としてインストールされます。以下を使用して、OpenMPサポートを使用してプログラムをコンパイルできます。
gcc-8 -fopenmp hello.c
または、.bashrc
fileにエイリアスを次のように入れることもできます。
alias gcc='gcc-8'
そして次に使用してコンパイル
gcc -fopenmp hello.c
注:誰かに役立つ場合に備えて、ここに元の投稿を残しています。
OS XでXCodeおよびClangを介して利用可能な標準gccは、OpenMPをサポートしていません。 OpenMPサポート付きのgccのHomebrewバージョンをインストールするには、次のコマンドでインストールする必要があります。
brew install gcc --without-multilib
または@ Mark Setchell が指摘したとおり
brew reinstall gcc --without-multilib
これにより、/usr/local/bin
ディレクトリにインストールされます。 Homebrewはgcc-<version>
としてインストールし、XCodeにバンドルされているgccを破壊しないようにします。
私はついにいくつかの研究を行い、最終的にここで解決策に出会いました: <omp.h>ライブラリーはマーベリックスのGCCバージョン(4.2.1)には見つかりません 。
$ Sudo tar -xvf gcc-4.9-bin.tar -C /
によって新しい実行可能フォルダーを配置しましたexport PATH=/usr/local/bin:$PATH
に切り替えて、トリックを行ったようです!