macos - 如何在我的新 MacBook Pro(使用 Mac OS Catalina)上安装 openMP?

标签 macos clang openmp llvm homebrew

我安装了 Xcode(以及命令行工具)但终端显示(当我编译时):

gcc -o task -fopenmp task.c
clang: error: unsupported option '-fopenmp'

我尝试通过 brew 安装 openmp,但有人说它在 homebrew 上不再可用,他们建议尝试

brew instal llvm

但是我得到了同样的错误。 我也在墓地里试过

brew install homebrew/boneyard/clang-omp

但是存储库不再存在。

你能帮帮我吗? 我只需要学习 openMP,我不认为安装有那么难...

谢谢!

亲切的问候,

妮可

最佳答案

要构建 OpenMP 支持,您需要确保您没有从 Xcode 调用 Apple 的 clang。即使您通过 brew 安装 llvmgcc,您也应该在您的终端 session 。两者都可能调用 Apple 的版本。

您可以使用 GNU gcc 或 LLVM;两者都可以通过 brew 获得。如果您使用 LLVM,您还需要安装 libomp

GNU gcc(目前版本 9)

brew install gcc
gcc-9 -o task -fopenmp task.c

请注意,您可以通过在 gcc 后缀 - 和主版本号来显式调用此版本的 gcc,例如:gcc-9

LLVM

Brew 只将 LLVM 安装为 keg-only,这样它就不会与 Apple 的版本冲突。因此,您需要确保调用正确的 clang。您还需要指定 libomp 库的位置。

brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c

关于macos - 如何在我的新 MacBook Pro(使用 Mac OS Catalina)上安装 openMP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58344183/

相关文章:

SwiftUI 表单编号输入

c++ - Clang 为指针减法生成异常代码,这是一个错误吗?

ios - 不兼容的指针类型用类型为“BaseClass *”的表达式初始化 'SubClass *__strong'

c# - 在 Xamarin Studio 中以编程方式创建 NSView

macos - 如何在 Mac OS X 上安装 libuuid?

c++ - 在 openmp 中创建一个 for 循环,与矩阵/vector 操作并行

c - OpenMP 中的嵌套循环

c - 并行使用 pragma 进行构造

c++ - 如何将文件写入 OS X 应用程序资源文件夹?

c++ - 在 NetBeans 中集成 Clang?