C编译器错误:找不到cdefs.h

C compiler error: cdefs.h not found

本文关键字:cdefs 找不到 编译器 错误      更新时间:2023-10-16

(有类似的问题得到了回答,但没有一个真正适用于此)

我有一块Fedora 20和armv71架构(32位)的板。我已经通过yum安装了所有需要的gcc库,如gccg++cmakeglibcglibc-devel等(glibc-devel相当于Fedora中的libc6-dev-i386)。

我正在尝试编译一个C项目,它在MAC OS 64位和Ubuntu 64位上编译得很好,但在Fedora 20上运行make时出现以下错误:

/usr/include/features.h:364:25: fatal error: sys/cdefs.h: No such file or directory
 #  include <sys/cdefs.h>

当我检查/usr/include/sys文件夹时,它是空的,并且系统中的任何位置都不存在cdefs.h文件。

问题似乎是我丢失了一个软件包(可能是?),但由于我似乎已经安装了所有软件包,所以无法确定丢失了哪一个。或者32位C编译器由于特定原因丢失了该文件?如有任何帮助,我们将不胜感激。

使用此命令(或类似命令,取决于您的操作系统)

apt-get install libc6-dev-i386

由于您使用的是基于RPM的发行版,因此可以执行以下操作:

# yum provides '*sys/defs.h'

让工具来完成最难的部分。