找不到libm.so, libc.so

移植一个开源库发现编译一直报找不到libm,libc等系统库。

不断发原因,增加--sysroot,加-L都不能将路径传入到参数中。

最后增加verbose,发现,其链接是通过g++调用的ld,不是直接ld。

进一下分析,发现ld调用的是一个脚本实现路径,sysroot和L参数等传不进ld。

核心原因。

由于办法,1,将ld的内置脚本导出来,用命令行可以导出。

复制代码
mips-mti-linux-gnu-ld --verbose -shared -z combreloc > my_script.lds

再将脚本里的搜索目录修改成自己的目录:

复制代码
SEARCH_DIR("=/home/deng/H3_Android/hc_linux_A3100/tool-chain/lib"); 
SEARCH_DIR("=/home/deng/H3_Android/hc_linux_A3100/tool-chain/mipsel-buildroot-linux-gnu/sysroot/lib"); SEARCH_DIR("=/lib"); 
SEARCH_DIR("=/home/deng/H3_Android/hc_linux_A3100/tool-chain/mipsel-buildroot-linux-gnu/sysroot/usr/lib");

下一步,在LDFLAGS中增加指定脚本选项

复制代码
export LDFLAGS="-Wl,--verbose  -B${STAGING_DIR}/usr/lib  -Wl,-T,${LD_SCRIPT_PATH}"

重新编译,链接成功。

相关推荐
路上有只喵1 小时前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇 11
单片机·嵌入式硬件
不昀1 小时前
开关电源电流互感器怎么选:匝比、采样电阻与复位的计算笔记
单片机·嵌入式硬件·电子元器件
小李不想当小白4 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
youcans_6 小时前
【嵌入式软件AI编程】(3)面向 AI 协同开发的 STM32 硬件信息标准化
人工智能·stm32·嵌入式硬件·ai编程
智者知已应修善业8 小时前
【51单片机实现从下到上,从上到下,从中间到两边,两边到中间】2024-10-23
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
辰哥单片机设计9 小时前
STM32智能药盒丨2027单片机新项目
stm32·单片机·嵌入式硬件
LCG米19 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
女神下凡1 天前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
何粥学1 天前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq