我在我的Mac上使用C / C ++进行OpenMP编译和执行,然后我格式化并重新安装了OS X的新副本。我相信设置的唯一区别是我在格式之前有Xcode 5,现在我有Xcode 6.
现在我得到fatal error: 'omp.h' file not found
我读到这与clang和gcc有关,但是,我的困惑在于为什么它之前有效,现在它不起作用?
答案 0 :(得分:1)
最新版本的Xcode(Xcode 6)中包含的GCC只是clang的象征性链接。由于clang目前不支持OpenMP,因此您需要安装不同版本的GCC。最简单的方法是使用Homebrew或MacPorts。
请注意,即使您执行此操作,也可能需要更改$PATH
以/usr/local
来/usr/bin
。这是因为Homebrew会将您新安装的GCC放在/usr/local
中。此外,某些实现可能会将命令命名为gcc-49
,而不是简单gcc
。
答案 1 :(得分:1)
Mac OSX使用clang.OS X中的gcc编译器不支持OpenMP。要使用此功能,需要安装新的gcc编译器。
转到终端,如果您尚未安装Hombrew,请安装它:
/usr/bin/ruby -e "$(curl -fsSL https://`enter code here`raw.githubusercontent.com/Homebrew/install/master/install)"
然后安装新版本的gcc
brew reinstall gcc --without-multilib
当我们重新安装时,这不会对Xcode安装的现有gcc编译器进行更改。
运行下面给出的命令后,使用新版本的gcc使用以下语法编译文件:gcc-version -fopenmp filename.c
要查找版本类型gcc,然后按Tab键。这将列出gcc的所有可能变体。版本号可以从中找到。例如:gcc-6,gcc-4.9等