致命错误:sys/cdefs.h:没有那个文件或目录|

Man*_*dar 113 c libraries 14.04

几周以来,我一直在尝试在 Ubuntu 14.04 LTS 上使用 Code::Blocks IDE 对 Atmega16 进行编程,但是在 C::B 中编译/构建程序时遇到以下错误

/usr/include/features.h|374|fatal error: sys/cdefs.h: No such file or directory|
Run Code Online (Sandbox Code Playgroud)

我已阅读此线程 并基于此我尝试libc6-dev通过删除依赖项来清除并遇到麻烦。根据以前的经验,我知道发生管道破裂错误的可能性很大。我通过安装丢失的依赖项来解决它。

现在我仍然有同样的错误。

zer*_*was 165

如果您使用的是 amd64 安装,则可以尝试安装软件包libc6-dev-i386. 这帮助我解决了您在尝试从 i8kutils编译smm 时遇到的相同问题。

  • 安装 gcc-multilib 和 g++-multilib 可能会更好。 (16认同)
  • 这就像一个魅力。这应该是公认的答案。 (9认同)
  • 如果我在 Kali 2016.2 中运行 `sudo apt-get install g++-multilib`,libc6-dev-i386 是将安装的附加软件包之一。 (5认同)
  • 如果您有许多编译器工具链,这看起来像是一个打包错误。multilib 可以为您提供 32 位和 64 位构建器,但可能会说一些愚蠢的事情,例如首先删除所有其他工具链以尝试防止冲突。为我工作,但我没有用于 arm 的编译器。我为此使用虚拟机。 (3认同)

小智 49

在我的机器上,我可能在 32 位和 64 位架构文件上搞砸了太多,我通过安装g++-multilib.