Компилировать программы OpenMP с помощью gcc-компилятора в OS X Yosemite
$ 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?
Ответы
Ответ 1
Стандартный gcc, доступный в OS X до XCode и Clang, не поддерживает OpenMP. Чтобы установить версию gcc с поддержкой OpenMP в Homebrew, вам необходимо установить ее с помощью
brew install gcc --without-multilib
или как указано @Mark Setchell
brew reinstall gcc --without-multilib
Это установит его в каталог /usr/local/bin
. Homebrew установит его как gcc-<version>
, чтобы не сжимать gcc в комплекте с XCode. Текущая версия gcc, доступная из Homebrew, будет установлена как gcc-4.9
. Вы можете скомпилировать программы с поддержкой OpenMP с помощью
gcc-4.9 -fopenmp hello.c
В качестве альтернативы вы можете поместить псевдоним в свой .bashrc
файл как
alias gcc='gcc-4.9'
а затем скомпилировать с помощью
gcc -fopenmp hello.c
Ответ 2
Наконец-то я провел некоторое исследование, и я наконец нашел решение здесь: < omp.h > библиотека не найдена в версии GCC (4.2.1) в Mavericks.
- У меня появился новый gcc-компилятор из http://hpc.sourceforge.net/
- Затем я поместил новую исполняемую папку
$ sudo tar -xvf gcc-4.9-bin.tar -C /
- Позже я переключился на него
export PATH=/usr/local/bin:$PATH
, который, казалось, сделал трюк!