J'ai besoin de compiler un code C++ avec OpenMP sur mon Mac. Malheureusement, la version par défaut de clang installée sur le Mac (703.0.31) ne prend pas en charge OpenMP. Par conséquent, j'essaie d'installer le paquet clang-omp avec brew (par exemple, en suivant le guide this ). Le problème est que brew ne peut trouver ni le libiomp, ni le paquet clang-omp:
$ brew install clang-omp
Error: No available formula with the name "clang-omp"
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.
Je me demande si le clang-omp est toujours fourni par brew. Ou est-ce que je fais quelque chose de mal? Des idées?
Edit: Si je fais une recherche de bière, j'obtiens ce qui suit:
$ brew search clang
clang-format emacs-clang-complete-async
Caskroom/cask/openclonk-c54d917-darwin-AMD64-clang
Ainsi, aucune preuve de clang-omp. Est-il possible que je doive changer de référentiel ou quelque chose comme ça?
Vous pouvez installer llvm en utilisant brew car il inclut désormais openmp.
brew install llvm
Vous pouvez créer un lien symbolique si vous le souhaitez
ln -s /usr/local/opt/llvm/bin/clang /usr/local/bin/clang-omp
Mon makefile ressemble à ceci
CPP = /usr/local/opt/llvm/bin/clang
CPPFLAGS = -I/usr/local/opt/llvm/include -fopenmp
LDFLAGS = -L/usr/local/opt/llvm/lib
example: example.c
$(CPP) $(CPPFLAGS) $^ -o $@ $(LDFLAGS)
Installer une formule supprimée
brew install homebrew/boneyard/clamp-omp
OR
brew tap homebrew/boneyard
brew install clang-omp
Référence: https://superuser.com/questions/1110414/install-a-deleted-homebrew-formulae/1110934#1110934
Ensuite, vous devez définir l'environnement:
export C_INCLUDE_PATH=/usr/local/Cellar/libiomp/20150401/include/libiomp:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/local/Cellar/libiomp/!date!/include/libiomp:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/usr/local/Cellar/libiomp/!date!/lib:$LIBRARY_PATH
clang-omp a été boneyarded . Voir ce commit: https://github.com/Homebrew/homebrew-core/commit/c57e3077 :
clang-omp: migrer vers boneyard
La fonctionnalité est désormais disponible dans le cadre de LLVM en Homebrew. Il suffit donc d'installer llvm
OpenMP a été officiellement inclus dans le brassage (avant la méthode, installez llvm ou clang-omp obsolète).
brew install libomp