gcc - 将 objcopy 与“精简存档”文件一起使用时出现问题
问题描述
请使用以下 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:没有这样的文件或目录
PS 当“瘦”存档由子目录中的对象文件组成时,会出现 objcopy 的问题。
有人知道这种 objcopy 的行为是否正常吗?
解决方案
推荐阅读
- bash - 根据标准输出替换退出代码?
- reactjs - 反应语义 UI 菜单
- javascript - 如何使用 React 将点击事件分配给画布 Api 中的每个圆圈
- javascript - 如何使用更漂亮的配置改进代码格式
- mysql - 使用新列中的前一行值计算每周增长
- php - “while($row = mysqli_fetch_array($result))” 可能为空?
- javascript - 调用包含来自另一个函数的承诺的函数
- python - 如何使用 Pandas 根据另一列的值将两列相加
- splunk - Splunk:使用多个统计信息搜索 SPL
- java - 为什么这个 Java 函数总是返回 true?