brew安装铿锵omp不工作 我需要在我的Mac上用OpenMP编译一个C++代码。不幸的是,Mac上安装的默认版本clang(703.0.31)不支持OpenMP。 因此,我正在尝试用brew安装clang omp软件包(例如,以下指南)。问题是brew既找不到libiomp,也找不到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.

brew安装铿锵omp不工作 我需要在我的Mac上用OpenMP编译一个C++代码。不幸的是,Mac上安装的默认版本clang(703.0.31)不支持OpenMP。 因此,我正在尝试用brew安装clang omp软件包(例如,以下指南)。问题是brew既找不到libiomp,也找不到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.,clang,openmp,homebrew,osx-elcapitan,Clang,Openmp,Homebrew,Osx Elcapitan,我想知道brew是否仍然提供clang omp。还是我做错了什么?有什么想法吗 编辑:如果我进行brew搜索,我会得到以下信息: $ brew search clang clang-format emacs-clang-complete-async Caskroom/cask/openclonk-c54d917-darwin-amd64-clang 因此,没有证据表明omp叮当作响。我是否需要更改存储库或类似的内容?安装已删除的公式 brew install homebre

我想知道brew是否仍然提供clang omp。还是我做错了什么?有什么想法吗

编辑:如果我进行brew搜索,我会得到以下信息:

$ brew search clang
clang-format           emacs-clang-complete-async
Caskroom/cask/openclonk-c54d917-darwin-amd64-clang

因此,没有证据表明omp叮当作响。我是否需要更改存储库或类似的内容?

安装已删除的公式

brew install homebrew/boneyard/clamp-omp

参考:

然后您需要设置环境:

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

您可以使用brew安装llvm,因为它现在包含openmp

brew install llvm
如果需要,可以创建符号链接

ln -s /usr/local/opt/llvm/bin/clang /usr/local/bin/clang-omp
我的makefile如下所示

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)

叮当作响的omp已被骨灰分割。请参见以下内容:

叮当作响:迁移到墓地

该功能现在作为Homebrew中LLVM的一部分提供。
因此,只需安装llvm

OpenMP已正式包含在brew中(在使用该方法之前,要么安装llvm,要么安装过时的clang omp)


您是否先调用
brew update
更新了
brew
配方?@HristoIliev是的,我更新了。为了确保这一点,我现在已经重新做了(我已经将Homebrew从87173cb更新到984ed83),但仍然没有找到clang omp(我得到了上面相同的错误)。LLVM 3.8和更高版本应该支持OpenMP“开箱即用”。因此,不再需要有一个特定的、不同的、铿锵的OMP……可以使用<代码> GCC V6>代码>用OpenMP编译C++。您可以使用
brew install gcc进行安装—不使用multi-lib
@JimCownie您如何编译兼容C++11的
main.cpp
,它使用OpenMP和LLVM请-完整的命令行是什么?它说
omp.h
不存在。如果您能提供一个示例,这将非常有帮助,因为我正在努力使它与openmp一起工作。@PiyushChauhan如果我使用答案中的makefile运行
make
,它将运行
/usr/local/opt/llvm/bin/clang-I/usr/local/opt/llvm/include-fopenmp example.c-o example-L/usr/local/opt/llvm/include
可选的符号链接步骤是什么
ln-s/usr/local/opt/llvm/bin/clang/usr/local/bin/clangomp
符号链接用于将其放置在您的路径中。我添加了
-omp
以将其与默认的
clangomp
分开,因为它过去在brew中被称为
clangomp
。很好地复制并粘贴了从中删除的公式部分,但没有信用。@coatless抱歉,我只是想提供帮助。希望您不会介意。只要在值得称赞的地方给予赞扬,尤其是如果您复制措辞的话……此外,您可能希望删除第一个示例中的,以支持以下操作:当您必须使用较旧的命令行工具时,这不起作用。我刚刚使用
brew install llvm
安装
llvm
。尽管如此,我想要使用的程序()仍然不起作用,声明
dyld:Library-not-loaded:/usr/local/opt/libiomp/lib/libiomp5.dylib
。如何确保它已正确加载?我在哪里做这个?
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)
brew install libomp