我安装了Xcode(以及命令行工具),但终端机提示(编译时):
gcc -o task -fopenmp task.c
clang: error: unsupported option '-fopenmp'
我尝试通过brew安装openmp,但是人们说它在自制软件上不再可用,他们建议尝试
brew instal llvm
但是我得到了同样的错误。 我也在骨场尝试过
brew install homebrew/boneyard/clang-omp
但该存储库不再存在。
你能帮我吗? 我只需要学习openMP,我认为这很难安装...
谢谢!
亲切的问候,
Nico
答案 0 :(得分:3)
要使用OpenMP支持进行构建,您需要确保不从Xcode调用Apple的叮当声。即使通过brew安装llvm
或gcc
,也应在终端会话中尝试gcc -v
和clang -v
。两者都可能引用苹果的版本。
您可以使用GNU gcc或LLVM;两者都可以通过Brew获得。如果您使用LLVM,则还需要安装libomp
。
brew install gcc
gcc-9 -o task -fopenmp task.c
请注意,您可以通过在gcc
后加上-
和主要版本号(例如:gcc-9
Brew将LLVM安装为仅桶装,以免与Apple的版本冲突。因此,您需要确保调用正确的clang
。您还需要指定libomp
库的位置。
brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c
答案 1 :(得分:1)
此https://iscinumpy.gitlab.io/post/omp-on-high-sierra/建议执行以下操作:
request.getContextPath() + "/customerForm.jsp"
要安装OpenMP运行时组件/库。
然后,在编译时:
getContextPath()
选项)中,使用brew install libomp
代替-Xpreprocessor -fopenmp
-fopenmp
添加到链接步骤请注意,以上页面还提到CMake 3.12或更高版本将自动找到在MacOS上添加OpenMP的正确方法:
-c
注意:我没有测试任何一个,但是听起来比较理智
答案 2 :(得分:0)
brew install gcc
然后在终端中输入 gcc
并按两次 Tab 按钮。
您应该会看到多个 gcc 版本,例如gcc
gcc-10
然后找出哪个来自 Homebrew,例如在终端中输入 gcc-10 --version
应该会输出如下内容:
gcc-10 (Homebrew GCC 10.2.0_3) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
最后使用那个编译器来编译你的例子:
gcc-10 -o task -fopenmp task.c