MacOS 12.1 找不到我安装的 GNU binutils

问题描述 投票:0回答:4

我想使用 GNU binutils 检查 MacOS 12.1 上的可执行文件。我做了一个

% brew install binutils

一切似乎都很顺利。首先我尝试了一个

% readelf <executable>

但被给予:

zsh: command not found: readelf

然后我尝试检查 binutils 本身:

% binutils -v

这给了我

zsh: command not found: binutils

我尝试添加两者

/usr/local/opt/binutils

/usr/local/Cellar/binutils

到我的 $PATH 并重新启动 zsh。文件路径位于我的 $PATH 中,自制软件已将“binutils”放在预期位置。但是

% binutils -v

仍然给我

zsh: command not found: binutils

。 有人让 binutils 在 Mac 上运行吗?我错过了什么?

macos homebrew binutils
4个回答
4
投票

您需要添加:

/usr/local/opt/binutils/bin

1
投票

路径
/usr/local/opt/binutils/bin
应添加到您的
PATH
环境变量中。

您可能没有注意到

brew install binutils
的输出:

binutils 仅是 keg,这意味着它没有符号链接到 /usr/local,因为Apple的CLT提供了相同的工具。

如果您需要在 PATH 中首先安装 binutils,请运行:echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> /用户/ipellegrini/.bash_profile

为了让编译器找到 binutils,您可能需要设置:export LDFLAGS="-L/usr/local/opt/binutils/lib" 导出 CPPFLAGS="-I/usr/local/opt/binutils/include"

所以应该足以:

  • ⤵️
    运行
    echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.bash_profile
    以便每次打开新的命令行 shell 时自动将
    bin
    文件夹添加到
    PATH
  • 🔄
    关闭当前 shell 并打开一个新 shell,以触发
    .bash_profile
    并使命令可供使用。
  • 🔍
    运行
    which readelf
    以确保找到并可达您所需的命令

享受🎉


0
投票

检查Xcode是否安装:

$ gcc --version

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

$ brew doctor

$ brew update

0
投票

使用 vscode 的 platformio CLI 构建 micro-ROS 软件包时出现相同的错误消息,由于某种原因,platoformio 将所有较新的 macos 版本识别为 ARM 机器,并将在默认 ARM 前缀(而不是 x86 前缀)中搜索 binutils。创建预期的 ARM 路径和 x86 前缀的符号链接可以修复此问题,并允许构建代码,但会破坏您的 brew 安装,直到删除 ARM 前缀。

© www.soinside.com 2019 - 2024. All rights reserved.