You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下用MSYS2和MinGW仅编译Binutils的nm工具方法咨询

仅编译Binutils中的nm工具(MSYS2 + MinGW环境)

以下是精准编译nm工具的操作步骤,能大幅减少编译量:

  1. 准备编译环境

    • 打开对应架构的MinGW shell(如mingw64.exe或mingw32.exe)
    • 安装必要编译依赖:
      pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make autoconf automake libtool
      
      (32位环境替换x86_64为i686)
  2. 配置Binutils

    • 解压Binutils源码,创建独立build目录(推荐out-of-tree编译):
      mkdir build && cd build
      
    • 运行configure脚本,指定目标架构与安装路径,可加--disable-nls减少冗余依赖:
      ../configure --target=x86_64-w64-mingw32 --prefix=/your/install/path --disable-nls
      
      (32位目标替换x86_64-w64-mingw32为i686-w64-mingw32)
  3. 仅编译nm工具

    • 不要直接执行make,而是运行以下命令,只编译nm及必要依赖库:
      make all-nm
      
    • 该命令会自动编译nm所需的公共核心库(如libbfd、libiberty),但不会编译objdump、readelf等其他工具,编译效率显著提升。
  4. 安装nm工具

    • 执行以下命令仅安装nm到指定路径:
      make install-nm
      

补充说明

Binutils的工具依赖部分公共核心库,这些库必须编译,但相比全量编译,仅编译nm的工作量已大幅降低。通过--disable-*参数禁用目录效果有限,因为工具代码与公共库耦合度高,而make all-nm是官方支持的精准编译方式。

内容的提问来源于stack exchange,提问作者Alex Skimo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:22:10