0

我需要为一个简单的加载器解析 ELF 可执行文件的可加载部分。找到了很好的“libelf by Example”教程(作者 J. Koshy),它很好地概述了 ELF 的结构。然后它把我带到了ELF Toolchain项目,它实现libelf了 ELF 处理函数库等。

使用这个库的好处是它封装了 ELF 格式的变体,并使代码更具可移植性和面向未来的能力。但是,我发现为了能够在 Ubuntu 上构建软件包,我需要安装大量的先决条件。

我尝试通过pmake在 libelf 目录中运行来仅构建 libelf 部分,但出现构建错误,抱怨缺少头文件 - 这显然是由全局 make 过程自动生成的,并且依赖于体系结构。

我的问题是 - 我怎样才能只构建libelfELF 工具链的一部分?

4

1 回答 1

0

您可以通过在顶层注释掉适当的SUBDIR行来构建 Elftoolchain 源代码树的选定部分Makefile

对于 building libelf,您应该能够使用以下两个目录:

% grep ^SUBDIR Makefile | head -2
SUBDIR += common
SUBDIR += libelf

注意:在 Ubuntu 上,您还可以使用GNU libelf,它提供了相同 API 的不同实现,并且似乎有现成的包

于 2013-10-03T04:55:03.713 回答