找不到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}"

重新编译,链接成功。

相关推荐
HRTOS6 分钟前
HRTOS 4.0 实测:时间片模式与调度位模式的任务切换性能对比
经验分享·单片机·嵌入式硬件·51单片机
深圳市恒锐丰科技杨生8 分钟前
LR048N10SM3 / LR046N10SM2 N 沟道 SGT‑MOSFET|Long‑Tek 龙夏电子
嵌入式硬件·硬件工程
独孤九剑打醒他10 分钟前
【原创开源·2.0 版】太阳能水闭环氢能源汽车:动态制氢、动能回收与副产物商业闭环
前端·嵌入式硬件·汽车·硬件工程·能源
我先去打把游戏先25 分钟前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu
木子n137 分钟前
车载以太网与SOME/IP服务化通信实战-03.事件通知与丢包语义:三类丢包模型、AoI时效账与缺口检测阈值
嵌入式硬件·网络协议·车载系统·车载以太网·some/ip
一个风轻云淡37 分钟前
扒开系统调用的三层皮:从 getpid 到手写 int 0x80
stm32·单片机·嵌入式硬件
SKH.1 小时前
Linux驱动-I2C子系统驱动
嵌入式硬件
HRTOS2 小时前
HRTOS 4.0 实测:8051 中断响应延迟与中断嵌套性能测试
单片机·嵌入式硬件·51单片机
NendoZen2 小时前
万用板焊接LM2940实现5V电源模块
单片机·嵌入式硬件
FPGA小徐2 小时前
硬件面试真题:运放滞回比较器波形分析
单片机·嵌入式硬件·pcb