OSX 10.11 上的 OpenMP 支持,"file omp.h not found" 的 gcc 错误

OpenMP support on OSX 10.11, gcc errors with "file omp.h not found"

我一直在使用 gcc 5.3.0 版。它说它带有 openmp 支持。但是每次当我使用 gcc [通过终端] 或通过 xCode 7 编译程序时,我都会得到同样的错误,"file omp.h not found"。我在这个问题上搜索了太多,几乎尝试了所有我找到的东西。

mac 上的编译器是不支持 openmp 的 clang(基于 llvm 3.5)。 你可以试试install llvm/clang/openmp from source or using prebuild binaries, but I must admit it 编辑 除非你使用 -fopenmp=libomp 标志。

我更改了编译器,现在我可以 运行 它了。 [这是clang的问题,我无法解决]。 我是一名学生,英特尔正在捐赠 Intel Parallel Studio 1 year licence for free to students。 所以我下载并安装了它。 在 xCode 中,在构建设置下,我将编译器设置为 'Intel C/C++ compiler',在并行化中,我将其设置为 'yes'。就是这样。然后就编译成功了。但是,请注意,您将不再使用头文件 'omp.h'。 顺便说一句,我仍在寻找答案,只是想知道我做错了什么。

您可以通过 Homebrew 安装 'clang-omp' 或 'gcc'(目前对应 GCC 5.3)软件包,它们都支持 OpenMP。

内置的 GCC 基于 GCC 4.2.1 abs 通过 Dragonegg 使用 LLVM 后端,这就是它不支持 OpenMP 的原因。

如前所述,英特尔编译器在 Mac 上支持 OpenMP。

我不使用 Xcode 编辑器,所以我不知道如何从那里使用其中任何一个,但所有这些都可以在终端上运行,就像在 Linux 上一样。