Kompilowanie programów OpenMP za pomocą kompilatora gcc na OS X Yosemite

$ gcc 12.c -fopenmp
12.c:9:9: fatal error: 'omp.h' file not found
#include<omp.h>
    ^
1 error generated.

Podczas kompilacji programów openMP dostaję powyższy błąd. Używam OS X Yosemite. Po raz pierwszy próbowałem instalując natywny kompilator gcc, wpisując gcc w terminalu, a później pobrałem Xcode zbyt wciąż mam ten sam błąd. Potem ściągnąłem gcc przez:

$ brew install gcc
Wciąż mam ten sam błąd. Próbowałem zmienić ścieżkę kompilatora, ale nadal pokazuje:
$ which gcc
/usr/bin/gcc

Więc jak kompilować programy z gcc?

Author: Tejas Belvalkar, 2015-03-15

2 answers

EDIT: od 13 Aug 2017 opcja --without-multilib nie jest już obecna w Homebrew i nie powinna być używana. Instalacja standardowa

brew install gcc

Dostarczy gcc instalację, która może być użyta do kompilacji programów OpenMP. Jak poniżej zostanie zainstalowany w /usr/local/bin jako gcc-<version>. Aktualna wersja gcc dostępna w Homebrew (w momencie pisania) zostanie zainstalowana jako gcc-8. Możesz kompilować programy z obsługą OpenMP używając go za pomocą

gcc-8 -fopenmp hello.c

Alternatywnie możesz dodaj alias do pliku .bashrcjako

alias gcc='gcc-8'

A następnie skompilować za pomocą

gcc -fopenmp hello.c

Uwaga : zostawiam oryginalny post tutaj na wypadek, gdyby komuś się przydał.

Standardowy gcc dostępny na OS X poprzez XCode i Clang nie obsługuje OpenMP. Aby zainstalować Homebrew wersję gcc z obsługą OpenMP musisz zainstalować ją z

brew install gcc --without-multilib

Lub jak wskazał @ Mark Setchell

brew reinstall gcc --without-multilib

To zainstaluje go na /usr/local/bin katalog. Homebrew zainstaluje go jako gcc-<version>, aby nie blokować gcc dołączonego do XCode.

 38
Author: IKavanagh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-20 18:57:45

W końcu zrobiłem trochę badań i w końcu znalazłem rozwiązanie tutaj: biblioteka Nie znajduje się w wersji GCC (4.2.1) w Mavericks.

  1. dostałem nowy kompilator gcc od http://hpc.sourceforge.net /
  2. Następnie umieściłem nowy folder wykonywalny przez $ sudo tar -xvf gcc-4.9-bin.tar -C /
  3. później przełączyłem się na nią przez To chyba zadziałało!
 2
Author: Tejas Belvalkar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-25 12:10:58