arm-elf-g ++ link static lib * .a失败:
libreData.a:无法读取符号:文件被截断
collect2:ld返回1退出状态
gnu_make:*** [partial.obj]错误1
我尝试使用“-mlong-calls”编译选项来修复问题
答案 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