为什么安装的linux头文件是空的?

为什么安装的linux头文件是空的?

我正在运行 14.04,安装在一个空硬盘上。Linux 头文件已安装,但文件.h为空。我可以看到这里的文件长度均为零: /usr/src/linux-headers-3.13.0-37-generic/include/config

头文件按如下方式安装:

> sudo apt-get install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-3.13.0-37-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

我怎么能够真的安装头文件,使得它们具有非零长度?

答案1

刚刚遇到根据 Kristof 的说法:

include/config 根本不用于头文件。这是优化内核构建的巧妙技巧的一部分。

内核配置(存储在 .config 中)用于生成整个内核使用的头文件。问题是,更改一个选项意味着所有包含 config.h 的文件都需要重建,即使其中大多数文件可能不受该选项的影响。

这个问题可以通过移除 makefile 对 config.h 的依赖,并用对 include/config 中某个文件的依赖来代替。那里的每个文件都对应一个配置选项。每当该选项发生更改时,配置系统都会触及该文件(更新其时间戳,导致 make 重建所有依赖文件)。

相关内容