MacOS 使用 OpenMP : gcc没有–without-multilib选项解决方案

网络上已经有很多通过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测试成功。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据