网络上已经有很多通过brew安装openmp的教程,其中大部分都用的是brew reinstall gcc –without-multilib 。但是,当我使用brew options gcc 命令查看gcc的可用开关,发现并没有–without-multilib 这样的选项。
brew options gcc --with-jit Build just-in-time compiler --with-nls Build with native language support (localization) --HEAD Install HEAD version
这个错误的具体原因仍然不知道,可能是mac系统版本的问题,不过参考 Clang + OpenMP Setup in macOS,可以知道,在Mac中对于OpenMP的支持,已经内置到了llvm中,于是得到如下的解决方式:
首先使用brew install llvm 安装llvm,在我的电脑中,发现llvm的clang & clang++ 安装到了/usr/local/opt/llvm/bin 位置,但是被系统默认的clang 覆盖了。因此我们可以将omp使用的clang软连接来重命名。
ln -s /usr/local/opt/llvm/bin/clang /usr/local/bin/clang-omp ln -s /usr/local/opt/llvm/bin/clang++ /usr/local/bin/clang-omp++
这样我们就成功实现了Mac系统安装OpenMP,通过clang-omp++ main.cpp -o main -fopenmp测试成功。