无法读取符号:文件被截断

时间:2017-07-10 08:00:05

标签: gcc hyperlink g++

arm-elf-g ++ link static lib * .a失败:

libreData.a:无法读取符号:文件被截断

collect2:ld返回1退出状态

gnu_make:*** [partial.obj]错误1

我尝试使用“-mlong-calls”编译选项来修复问题

1 个答案:

答案 0 :(得分:0)

lib编译添加选项" -mlong-calls"铅重定位标志" R_ARM_MOVW_ABS_NC"。 不添加选项" -mlong-calls"领导重新安置标志" R_ARM_PC24"。

加不加-mlong通话主要区别在于重定位方式R_ARM_MOVW_ABS_NC与R_ARM_PC24(使用24位的PC相对地址重定位引用) 加-mlong通话重定位方式为R_ARM_MOVW_ABS_NC 不加的重定位方式为R_ARM_PC24