2017-04-22 83 views
5

Używam systemu Mac OS X Sierra i odkryłem, że ten klang (LLVM wersja 8.1.0 (clang-802.0.38)) nie obsługuje OpenMP: , kiedy uruchomić clang -fopenmp program_name.c, mam następujący błąd:Włącz obsługę OpenMP w klangach w systemie Mac OS X (sierra)

clang: error: unsupported option '-fopenmp'

wydaje się, że dzyń nie obsługuje -fopenmp flagę.

Nie mogłem znaleźć żadnej biblioteki OpenMP w homebrew. Według strony LLVM, LLVM obsługuje już OpenMP. Ale nie mogłem znaleźć sposobu na włączenie go podczas kompilacji.

Czy to oznacza, że ​​domyślny klang na Macu nie obsługuje OpenMP? Czy możesz podać jakieś sugestie?

(Kiedy przejść do GCC skompilować ten sam program (gcc jest instalowany przy użyciu brew install gcc --without-multilib) i kompilacja zakończy się powodzeniem.)

+1

'brew install llvm' powinien zainstalować najnowszą wersję LLVM, tj. 4.0.0. Czy to rozwiązuje problem? – cbrnr

Odpowiedz

3

Rzeczywiście, pod warunkiem, dzyń Apple nie wspiera OpenMP.

1

Spróbuj użyć Homebrew „s llvm:

brew install llvm 

Trzeba wówczas wszystkie pliki binarne LLVM w /usr/local/opt/llvm/bin. Skompilować OpenMP Hello World program na przykład rodzaj

/usr/local/opt/llvm/bin/clang -fopenmp -L/usr/local/opt/llvm/lib omp_hello.c -o hello 

Można również ustawić CPPFLAGS z -I/usr/local/opt/llvm/include.