ld returned 1 exit status /data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/a...

2025年10月14日 16:13 响应: 2.83秒 状态: success

🚨 错误信息

collect2: error: ld returned 1 exit status /data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/aarch64--glibc--stable-2022.08-1/bin/aarch64-linux-g++ -w -std=c++17 -Wl,-rpath-link=/data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/output/usr/local/lib -Wl,-rpath-link=/data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/output/usr/local/lib CMakeFiles/SenseMemoryService.dir/SenseMemoryService.cpp.obj -o /data/gerrit/workspace_AIBox_repo/AICore/IC_NM_SenseMemory/output/linux_orin/bin/SenseMemoryService -L/data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/output/usr/local/lib -L/data/gerrit/workspace_AIBox_repo/AICore/IC_NM_SenseMemory/output/linux_orin/lib -lsenseauto_infrastructure -lsenseauto_sensememory -lsenseauto_sensory_memory -lsystemd -lcurl make[2]: *** [build_NM_SenseMemory/shell/linux/SenseMemoryService/CMakeFiles/SenseMemoryService.dir/build.make:103: /data/gerrit/workspace_AIBox_repo/AICore/IC_NM_SenseMemory/output/linux_orin/bin/SenseMemoryService] Error 1 make[2]: Leaving directory '/data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/build' make[1]: *** [CMakeFiles/Makefile2:2150: build_NM_SenseMemory/shell/linux/SenseMemoryService/CMakeFiles/SenseMemoryService.dir/all] Error 2

🤖 AI解决方案

  • 错误翻译
  •     collect2: error: ld returned 1 exit status
        # 核心关键句:链接器返回了1个退出状态,表示链接过程中发生错误。
        

  • 原因分析

  • 链接器(ld)在尝试将编译后的目标文件和库链接成可执行文件时失败。最常见的原因是找不到某个库文件,或者库文件之间存在依赖问题。

  • 解决方案

  • * 检查链接标志:仔细核对 -L 指定的库路径是否正确,以及 -l 指定的库名是否与实际文件匹配。
        # 示例:检查 -lsenseauto_infrastructure 对应的库文件是否存在于指定的 -L 路径下
        # 假设库文件名为 libsenseauto_infrastructure.so 或 libsenseauto_infrastructure.a
        ls /data/gerrit/workspace_AIBox_repo/Vendor/IC_NM_OrinX/output/usr/local/lib/libsenseauto_infrastructure.*
        ls /data/gerrit/workspace_AIBox_repo/AICore/IC_NM_SenseMemory/output/linux_orin/lib/libsenseauto_infrastructure.*
        

    * 检查依赖关系:如果项目依赖多个自定义库,确保它们之间没有循环依赖或缺失的依赖。
    * 查看详细链接错误:通常 collect2 报错前会有更详细的错误信息(如 undefined reference to '...'),需要找到这些信息来确定具体是哪个符号/函数/变量找不到。

  • 预防措施

* 在CI/CD流程中加入链接检查,及时发现库文件缺失或配置错误。
* 对项目依赖的库进行版本管理和依赖梳理,避免引入不兼容的库或版本。