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

重新编译,链接成功。

相关推荐
sramdram6 小时前
MCU微控制器OA打印机方案
单片机·嵌入式硬件·mcu·mcu微控制器
天天爱吃肉82187 小时前
【电源拆解:跟着问答逐一认识开关适配器PCB元器件】
大数据·人工智能·python·功能测试·嵌入式硬件·汽车
科芯创展10 小时前
3.5A,60VIN,异步降压芯片,XZ1815
单片机·嵌入式硬件
茯苓gao10 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
浅止菌12 小时前
海思回归第二弹:瑞芯微的隐忧与对手的反击
嵌入式硬件
Kuakewei88812 小时前
PW2609A在2.6A负载下压差0.14V,温升较3A工况低11°C
单片机·嵌入式硬件
Zyed12 小时前
[FreeRTOS]Day7项目介绍
stm32·单片机·嵌入式硬件
xuxie9913 小时前
start7 电机闭环控制
单片机·嵌入式硬件
嵌入式-老费14 小时前
esp32开发与应用(播放wav音频文件)
嵌入式硬件
piaoyiren14 小时前
基于 STM32F103 蓝牙遥控云台超声波避障小车
stm32·单片机·嵌入式硬件·蓝牙·超声波测距·直流电机