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?
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 .bashrc
jako
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.
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:
- dostałem nowy kompilator gcc od http://hpc.sourceforge.net /
- Następnie umieściłem nowy folder wykonywalny przez
$ sudo tar -xvf gcc-4.9-bin.tar -C /
- później przełączyłem się na nią przez To chyba zadziałało!
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