正在编译 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 通信的版本,而不是禁用此选项的默认版本。
所以我尝试在启用共享和 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 通信的版本,而不是禁用此选项的默认版本。