恐怕我的问题有点复杂。感谢任何可以提供帮助的人。
一些背景:
我有一个编译内核模块和用户空间应用程序的第 3 方软件包。 不幸的是,这个第 3 方非常复杂,并且没有使用 Kbuild 来构建内核模块(我试过没有成功)
在编译内核模块时,我添加了 -I{内核头文件的路径},但我发现编译时没有解析 .config 文件,这当然会导致很多错误。 我尝试在命令行中手动将 .config 中的所有标志添加到 gcc(使用脚本生成命令行),但那是一个非常非常长的行,gcc 无法处理它。
所以我的问题是:有没有办法以某种方式强制所有这些标志到 gcc?
欣赏你的想法:)
澄清:
第 3 方软件可以在旧内核(2.6、2.4)上编译我正在尝试为 3.2 编译它
也许如果有人可以解释原始内核 Makefile 如何管理 .config 文件,我可以模仿这种行为。
最佳答案
在深入研究内核源代码后,我找到了答案。以防万一有人需要它。 有一个自动生成的名为 autoconf.h 的 h 文件,其中包含 C 预处理器格式的所有相关定义。只需要在编译模块时手动包含它。
同样在理论上,我可以使用我的脚本来创建这样的文件并从源中包含它。
希望这对某人有帮助。现在开始下一个问题:)
https://stackoverflow.com/questions/18875425/