使用 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 抱怨架构的主要内容,如果未能解决你的问题,请参考以下文章
如何使用objcopy或libelf将elf文件的一部分替换为另一部分,以便将其加载到内存中?