D10S_ 2021-06-09 16:51 采纳率: 0%
浏览 41

PX4固件源码编译遇到CMAKE_AR-NOTFOUND:command not found 的问题

已经安装了3.19.8版本的cmake,cmake --version也能出现版本号,为什么还是找不到命令?急求

  • 写回答

1条回答 默认 最新

  • 秋月霜风 2024-04-10 10:44
    关注

    具体的错误和可能的原因如下:

    1. 错误信息:

    [1/1044] Performing build step for 'px4io_firmware':这是编译过程的第一步,共1044步,目标是构建px4io_firmware。
    [8/231] Generating nuttx/boards/libboards.a:这是生成nuttx/boards/libboards.a的步骤,是第8步,共231步。

    1. 主要错误:

    CMAKE_AR-NOTFOUND: Command not found:这表明构建过程中尝试调用的CMAKE_AR命令没有找到。CMAKE_AR是CMake用来创建静态库的程序,如果它没有被找到,可能是因为没有正确安装或配置CMake。

    1. 结果:

    Makefile: 100: recipe for target 'libboards.a' failed:这意味着在Makefile的第100行定义的规则(或配方)用于生成目标libboards.a失败了。
    make[1]: *** [libboards.a] Error 127:这是make工具返回的错误代码127,通常表示某个命令没有找到。

    1. 解决方案:
      确保CMake正确安装:您需要确认CMake是否正确安装在您的系统上。可以通过运行cmake --version来检查。
      安装或更新CMake:如果CMake未安装或版本不兼容,您需要安装或更新它。
      环境变量:确认环境变量正确设置,以便构建系统可以找到CMAKE_AR工具。
      检查构建脚本:有时候,构建脚本可能需要更新或修复以反映正确的工具路径或版本。

    已经安装了 CMake 并且通过 cmake --version 能够看到版本号,但在构建过程中系统报告找不到命令,可能是以下几个原因:

    环境变量:

    CMake 安装后,它的可执行文件路径需要被添加到系统的环境变量中。这样,当您在终端或命令行中输入 cmake 命令时,系统才能找到对应的可执行文件。请检查环境变量是否包含了 CMake 的安装路径。
    不同的用户环境:

    如果您在命令行中能够运行 cmake,但在某些自动化的构建系统中找不到命令,可能是因为那些环境(例如某些IDE或构建脚本)没有加载正确的用户环境变量。
    PATH 问题:

    有时候,PATH 环境变量可能在当前会话中没有更新。尝试重新启动您的终端或者计算机,以确保 PATH 变量的更新能够生效。
    权限问题:

    在某些情况下,如果 CMake 没有正确的执行权限,也可能导致这样的问题。确保 CMake 的安装目录和可执行文件对当前用户是可执行的。
    CMake 变量未设置:

    报错 CMAKE_AR-NOTFOUND 可能意味着 CMake 在尝试寻找 ar 程序时失败了。ar 是用来创建静态库的程序。确保 CMake 可以找到 ar 工具,并且 CMAKE_AR 变量被正确设置。
    构建系统配置问题:

    检查您的 CMakeLists.txt 或其他构建配置文件,看看是否有错误的设置导致 CMAKE_AR 未能正确指向 ar 工具。
    使用完整路径:

    作为临时解决方案,您可以在构建脚本中指定 CMake 和其他工具的完整路径。

    评论 编辑记录

报告相同问题?

悬赏问题

  • ¥50 内网的网页打开的Excel下载到本地
  • ¥15 该网站用的是什么程序模版
  • ¥15 verilog modelsim仿真
  • ¥15 Power BI 里面 帕累托图突出显示前20
  • ¥50 用预估矫正法,分数阶微分方程组传染病的最优控制代码怎么写
  • ¥15 画个数据流程图,手画也行
  • ¥60 AS自带模拟器AVD Root 和 Xposed安装
  • ¥30 哪位搞Android的编程师可以帮我远程一下,悬赏30元
  • ¥15 solidity部署上合约,可以mint,也继承接口了,在区块链也不显示代币名字
  • ¥15 讨论 博士论文交互项怎么讨论?