OSX 10.11上的OpenMP支持,gcc错误,“找不到文件omp.h”

时间:2016-01-23 13:28:35

标签: c macos gcc openmp llvm-clang

我一直在使用gcc 5.3.0版。它说它带有openmp支持。但每当我使用gcc [by terminal]或xCode 7编译程序时,我都会得到同样的错误,“找不到文件omp.h”。我在这个问题上搜索过多,并尝试了几乎所有我找到的东西。

  • 首先,我试图在我的Mac上找到omp.h。我找到了一些文件;然后在头文件中,我使用了omp.h的特定位置,但没有帮助[它给了我链接器错误]。
  • 我安装了gcc 6.0版(预发布版)但没有帮助。我尝试更改C_INCLUDE_PATH [现在,以前设置为none],但这对我没有帮助。
  • 我重新安装了clang-omp,但没有帮助。
  • 我正在使用llvm编译器版本7.0。虽然我已经安装了clang-omp,但我的/ usr / include / *
  • 中没有omp.h.

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

你可以安装' clang-omp'或者' gcc' (现在对应于GCC 5.3)通过Homebrew打包,两者都支持OpenMP。

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

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

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

答案 2 :(得分:0)

mac上的编译器是clang(基于llvm 3.5),它不支持openmp。 您可以尝试install llvm/clang/openmp from source或使用prebuild binaries,但我必须承认does not work as advertised for me ... 修改,除非您使用-fopenmp=libomp标记。