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 上找到 omp.h。我找到了一些文件;然后在头文件中,我使用了 omp.h 的特定位置但没有帮助 [它给了我链接器错误]。
- 我安装了 gcc 6.0 版(预发行版)但没有帮助。我尝试更改 C_INCLUDE_PATH [现在,以前设置为 none],但这对我也没有帮助。
- 我重新安装了 clang-omp 但没有帮助。
- 我正在使用 llvm 编译器 7.0 版。虽然我安装了clang-omp,但是我的/usr/include/*
里没有omp.h
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 上一样。
我一直在使用 gcc 5.3.0 版。它说它带有 openmp 支持。但是每次当我使用 gcc [通过终端] 或通过 xCode 7 编译程序时,我都会得到同样的错误,"file omp.h not found"。我在这个问题上搜索了太多,几乎尝试了所有我找到的东西。
- 首先,我试图在 mac 上找到 omp.h。我找到了一些文件;然后在头文件中,我使用了 omp.h 的特定位置但没有帮助 [它给了我链接器错误]。
- 我安装了 gcc 6.0 版(预发行版)但没有帮助。我尝试更改 C_INCLUDE_PATH [现在,以前设置为 none],但这对我也没有帮助。
- 我重新安装了 clang-omp 但没有帮助。
- 我正在使用 llvm 编译器 7.0 版。虽然我安装了clang-omp,但是我的/usr/include/* 里没有omp.h
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 上一样。