将 objcopy 与“薄存档”文件一起使用时出现问题

Posted

技术标签:

【中文标题】将 objcopy 与“薄存档”文件一起使用时出现问题【英文标题】:Problem while using objcopy with "thin archive" file 【发布时间】:2019-02-27 14:12:36 【问题描述】:

请使用以下 shell 命令重现问题:

# create subdirectory
mkdir subdir

# create source files with dummy functions
echo 'void func1()' > file1.c
echo 'void func2()' > ./subdir/file2.c

# compiling sources into object files
gcc -c file1.c -o file1.o
gcc -c ./subdir/file2.c -o ./subdir/file2.o

# creating "thin archive" file from object files
ar crT out.a file1.o ./subdir/file2.o

# running objcopy, which leads to an error
objcopy out.a out_copy.a

结果出现以下错误:

objcopy:st0AENRL/subdir/file2.o: 没有这样的文件或目录

附:当“瘦”存档由子目录中的目标文件组成时,objcopy 会出现问题。

有人知道这样的 objcopy 的行为是否正常吗?

【问题讨论】:

可能是一个错误。我在 bugzilla 上做了一个报告:sourceware.org/bugzilla/show_bug.cgi?id=24281 【参考方案1】:

这确实是一个错误。 据报道here。 对精简存档的支持是临时的disabled。

【讨论】:

以上是关于将 objcopy 与“薄存档”文件一起使用时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

将 DCMTK 与 Visual Studio 一起使用时出现链接器错误 LNK2019

将插入与 KeyHolder 一起使用时出现 ArrayIndexOutOfBoundsException

将 Jackson JSON 库与骆驼一起使用时出现异常

将 AutoMapper 与实体框架一起使用时出现异常

将 Typescript 与 React-Redux 一起使用时出现类型错误

将 Firebase 与 RecyclearView 一起使用时出现错误