使用 objcopy 将文本文件添加到二进制文件,但 objcopy 抱怨架构

Posted

技术标签:

【中文标题】使用 objcopy 将文本文件添加到二进制文件,但 objcopy 抱怨架构【英文标题】:Adding text files to binaries with objcopy, but objcopy complains about architecture 【发布时间】:2015-08-17 21:00:45 【问题描述】:

我已将 embedding text files(或任何其他相关资源)读入二进制文件,我正在这样做:

objcopy -I binary -O elf32-littlearm --binary-architecture arm myfile.txt myfile.txt.o

但是,与教程不同的是,我得到以下响应:

ld: unknown architecture of input file `myfile.txt' is incompatible with arm output

该示例使用 i386,但这似乎也不是问题,因为我也不能这样做。

有没有一种方法可以强制 objcopy 忽略它是一个文本文件而不是有效的兼容二进制文件这一事实,所以它只是将它逐个字节地复制到我的程序中?

【问题讨论】:

【参考方案1】:

对于仅数据对象文件(无代码),您可以跳过binary-architecture 选项。

所以以下应该可以工作

objcopy -I binary -O elf32-littlearm myfile.txt myfile.txt.o 生成目标文件。

【讨论】:

以上是关于使用 objcopy 将文本文件添加到二进制文件,但 objcopy 抱怨架构的主要内容,如果未能解决你的问题,请参考以下文章