linux - binutils 为 readelf 报错

标签 linux makefile binutils

当我运行 make binutils/readelf 时,出现以下错误:

In file included from readelf.c:43:0:
sysdep.h:23:25: fatal error: alloca-conf.h: No such file or directory
 #include "alloca-conf.h"

我缺少什么依赖项?我如何只构建和编译 readelf 而无需制作其余的 binutils?

最佳答案

实际发生的情况是您没有Makefile 或至少没有定义binutils/readelf 目标。但是由于有一个 binutils/readelf.c 文件,make 仍然运行并尝试使用其隐式模式规则编译和链接 binutils/readelf...但失败了,因为这个源文件没有相应的配置是无法构建的。

这只是为了添加更多细节。长话短说,按照评论中的建议运行 ./configuremake 并收集生成的 readelf。比尝试从基于 autotools 的项目中分离出一个单独的项目要容易得多。您将 -I 添加到 CFLAGS 以查找 alloca-conf.h,您将遇到另一个类似的问题。

关于linux - binutils 为 readelf 报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47850549/

相关文章:

makefile - 如果目录不存在,如何创建一个创建目录的目标?

testing - 如果源文件中存在已定义的符号,gcc 可以进行测试吗

c - 在 gcc 编译器之前构建 binutils

c++ - 为什么 GNU ld 在链接可执行文件和共享对象时解析符号的方式不同?

assembly - GNU 对具有全局标签的 jmp 感到奇怪

linux - 在模式 4 GBA Linux 中使用 DMA

linux - SBT 请求命令

linux - 在 linux 上编码 utf-8

linux - 无法跟踪 sudo;报告有效 uid 为非零

gcc - make 删除依赖文件