我正在使用一个makefile编译一个开源的N体积分器(在github上找到它),使用C语言编写。这个makefile一直以来都可以在超级计算机上编译代码,但最近在我的个人电脑上却无法正常工作。
我有两台电脑,一台新的Macbook Pro和一台稍微旧一些的iMac。这两台电脑都安装了homebrew版本的gcc 8.2.0,因为默认的Mac编译器缺少OpenMP。
然而,在我的个人电脑上运行makefile时,我在rebound.c中包含的文件中遇到了一个错误(rebound.c是src/目录下REBOUND的基本源文件)。错误显示stdio.h文件试图包含一个不存在的文件_stdio.h。现在,导致此错误的特定stdio.h文件深藏在homebrew Cellar中8.2.0 gcc安装中的一个名为“include-fixed”的目录中。实际上,如果我去查看这个stdio.h文件,它确实试图包含一个名为_stdio.h的文件。
有人能告诉我这里发生了什么吗?我从未见过头文件名称中带有下划线。我几乎倾向于认为这是我gcc安装中stdio.h文件的一个拼写错误?我已经“brew upgrade”了gcc,只是为了确保我有最新的版本,但我仍然遇到这个错误?
我该如何解决这个问题?