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

重新编译,链接成功。

相关推荐
长江后浪博客4 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
单片机仿真设计5 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路5 小时前
单片机·电子时钟
单片机·嵌入式硬件
AOI小白新手上路9 小时前
江科协51单片机 7-2 LCD1602显示时钟实验
单片机·嵌入式硬件·51单片机
思麟呀9 小时前
嵌入式入门(一)宏观生态到首次烧录
c语言·嵌入式硬件
runningshark9 小时前
SC32L14GR8PJR
单片机·嵌入式硬件
智购科技无人售货机厂家9 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
智购无人售货机厂家9 小时前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
花 满 楼10 小时前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
Messy create11 小时前
【BMS-Pack检测-短路检测】
单片机·嵌入式硬件·能源