GCC 在 Alpine Linux 中找不到 stdio.h

GCC can't find stdio.h in Alpine Linux

在新的 Alpine Linux 我通过

安装了 GCC
apk add --update-cache gcc

但还是一个简单的程序

#include <stdio.h>

int main(int argc, char *argv[]) {
    return 0;
}

编译消息

fatal error: stdio.h: No such file or directory

安装musl-dev(除了gcc编译器)

apk add musl-dev

您需要单独安装它,因为在 Alpine Linux 中,GCC 包不依赖于 libc-dev for good reason:

You can use gcc to compile things without libc, for example hypervisors firmware etc.

而 August Klein 也指出,在 Debian 中,GCC 仅 推荐 libc-dev 出于同样的原因(但大多数人不这样做 --no-install-recommends ).