正在编译 FFTW,不知道如何启用 OpenMP

Compiling FFTW, don't know how to enable OpenMP

所以我尝试在启用共享和 OpenMP 的情况下编译 FFTW,如下所示:

./configure --enable-shared --enable-openmp

我收到错误消息:

checking for OpenMP flag of C compiler... unknown
configure: error: don't know how to enable OpenMP

我对这种事情有点陌生,但我相当确定脚本使用的任何编译器都看不到 OpenMP,但我现在无法知道如何更改它。这是在 OSX High Sierra。

这里发生了什么,我该如何解决?

所以在四处寻找后自己解决了这个问题,但它可能与有同样问题的人有关。我的理解是这样的:原来默认的 OSX 版本的 gcc 禁用了 OpenMP;如果你 re-install gcc 使用 brew:

brew reinstall gcc --without-multilib

它作为 gcc- 安装在 /usr/local/bin 中(我的是 gcc-7)。如果你那么 运行:

./configure CC=gcc-7 --enable-shared --enable-openmp

根据您的版本号,它可以正确编译。这会手动设置 gcc 的版本,这是您刚刚重新安装并允许与 OpenMP 通信的版本,而不是禁用此选项的默认版本。