我想使用 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 上运行吗?我错过了什么?
您需要添加:
/usr/local/opt/binutils/bin
/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
。.bash_profile
并使命令可供使用。which readelf
以确保找到并可达您所需的命令享受🎉
检查Xcode是否安装:
$ gcc --version
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ brew doctor
$ brew update
使用 vscode 的 platformio CLI 构建 micro-ROS 软件包时出现相同的错误消息,由于某种原因,platoformio 将所有较新的 macos 版本识别为 ARM 机器,并将在默认 ARM 前缀(而不是 x86 前缀)中搜索 binutils。创建预期的 ARM 路径和 x86 前缀的符号链接可以修复此问题,并允许构建代码,但会破坏您的 brew 安装,直到删除 ARM 前缀。